Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ändra värde i en bunden textruta

Postades av 2006-11-22 11:01:20 - Maria Jönsson, i forum access, Tråden har 6 Kommentarer och lästs av 1311 personer

Hej!

Det här är säkert världens lättaste problem, men jag får inte till det...

Jag har en bunden textruta txtId som jag vill tilldela ett annat värde.

om jag kör
txtId.Value = 11
får jag meddelande
you cant assign a value to this object.

om jag kör
Form.Filter = "Delivery.Id=" & 11
händer det inte någonting

när jag öppnar formuläret använder jag:
DoCmd.OpenForm "DeliveryDetail", , , "Delivery.Id=" & 11
detta funkar bra

Har också provat med
Me.RecordSet("Id") = 11
funkar inte heller....

Hur gör jag för att hoppa fram till id 11??
får inte till syntaxen....

Egenskaper för fomuläret:
Allow Filters=yes
Allow Edits=yes
Allow Deletions=no
Allow Additions=no
Data Entry = no
Recordset Type = Dynaset
Record Locks = no Locks

Egenskaper för textrutan
Control Source = Id
Enabled = yes
Locked = no
Filter Lockup = Database Default

Använder Access 2000

/Maria


Svara

Sv: Ändra värde i en bunden textruta

Postades av 2006-11-22 23:14:06 - Andreas Hillqvist

Det verkar som din fråga är uppdaterbar.
Om du vill skapa en navigeringsfunktion, bör kontrollen inte vara bunden. Du bör ha en separat obunden kontroll:

Private Sub txtId_AfterUpdate()
Dim rs As DAO.Recordset
On Error GoTo txtId_AfterUpdate_Err
    Set rs = Me.RecordsetClone
    rs.FindFirst "Delivery.Id = " & txtId.Value
    If rs.NoMatch Then
        MsgBox "Posten ej funnen!", vbExclamation
    Else
        Me.Bookmark = rs.Bookmark
    End If

txtId_AfterUpdate_Exit:
    Exit Sub
    
txtId_AfterUpdate_Err:
    MsgBox Err.Description, vbCritical
    Resume txtId_AfterUpdate_Exit

End Sub


Svara

Sv:Ändra värde i en bunden textruta

Postades av 2006-11-23 08:05:25 - Maria Jönsson

Hej Andreas!

Navigera är precis vad jag vill göra. Det är så att när jag sparar en ny post får ju den ett nytt id. Jag vill då navigera till den posten och på så vis få det nya id:t i textrutan. Användarna ska alltså inte skriva in något i textrutan, utan det är bara när en ny post skapats som jag vill få det nya id:t i textrutan


Min spara ny funktion ser ut enl följande:
Dim rs As ADODB.Recordset
Dim strSql
strSql = "SELECT * FROM Delivery WHERE Id = -1" 'För att få ett tomt recordset
Set rs = New ADODB.Recordset
rs.Open strSql, conn, , adLockOptimistic
rs.AddNew
rs("CustomerOrderNumber") = row.CustomerOrderNumber
rs("ProductionNumber") = row.ProductionNumber
...
...

rs.Update
row.Id = rs("Id").Value

Jag försökte som du sa med följande:
Dim rs As DAO.Recordset
Me.Recordset.FindFirst "Delivery.Id = " & row.Id
Set rs = Me.RecordsetClone
rs.FindFirst "Delivery.Id = " & row.Id
If rs.NoMatch Then
MsgBox "Posten ej funnen!", vbExclamation
Else
Me.Bookmark = rs.Bookmark
End If

men id står fortfarande kvar på 1....
Kan även tillägga att jag använder samma formulär för uppdatering och skapa nya poster. Vid skapa ny använder jag ju inte id. Men när jag är klar med min nyskapade post vill jag ju flytta fram till rätt post ifall användaren vill uppdatera den nyss skapade posten. (det är ju inte precis så snyggt om användaren uppdaterar post nr 1 istället.......)


Svara

Sv: Ändra värde i en bunden textruta

Postades av 2006-11-23 09:52:36 - Åsa Holmgren

Hej Maria!

Jag undrar om du inte krånglar till det rejält för dig...

För att lägga till en ny post behöver du bara navigera till ny post i formuläret. Hela recordset-hanteringen är troligen onödig. För att få in värden i den fält som du redan känner till (CustomerOrderNumber och ProductionNumber) kan man göra på lite olika sätt beroende på var du får de värdena ifrån. Kommer de från ett annat öppet formulär?


Svara

Sv:Ändra värde i en bunden textruta

Postades av 2006-11-23 13:18:25 - Maria Jönsson

Hej Åsa!

Jag har ett huvudformulär där jag kan söka ordrar. De sökta ordrarna presenteras i ett subformulär (datasheet). För att göra en ändrig på någon order klickar man på den och ett detaljformulär(deliveryDetail) öppnas.
Om man skulle vilja skapa en ny post finns en knapp på huvudformuläret där man öppnar samma formulär och ger en variabel värdet "NEW".

Under spara knappen kollar jag ifall denna variabel har värdet "NEW" isåfall ska jag skapa en ny post, annars ska jag uppdatera befintlig post.

Innan jag sparar kör jag med en valideringsfunktion för att kolla att alla värden är tillåtna.
If (validateDelivery(row)) Then
If (state = "New") Then
addDelivery(row)
'här vill jag ladda med rätt id.... row.Id innehåller id:t på den senas skapade posten
???=row.Id
state = ""
Else
updateDelivery(row)
End If
End If

Alla textrutor utom id är obundna.

Välkomnar förslag på förbättringar.... Gör jag fel som byggt egna funktioner för skapa ny post samt uppdatera befinglig post?? Hur skulle du gjort?

MVH
Maria


Svara

Sv: Ändra värde i en bunden textruta

Postades av 2006-11-23 15:11:52 - Åsa Holmgren

Jag skulle ha gjort så här:

Vi antar att detaljformuläret har tabellen "Delivery" som datakälla och att alla kontrollerna är bundna.

Koden när du klickar på en post i underformläret är någonting i den här stilen:
DoCmd.OpenForm "DeliveryDetail", , , "Id=" & Me.Id

Knappen för ny post ska då ha en motsvarande kod:
DoCmd.OpenForm "DeliveryDetail", , , , acFormAdd
Detta öppnar formuläret med en ny, tom post aktiv.

Säg sedan att detaljformuläret har en OK-knapp som kör valideringen och stänger formuläret om allt är OK annars visar felmeddelande.

If ValidateFormOK Then
DoCmd.Close acForm, Me.Name
Else
...
End If

Det som kan vara lite stelt med bundna kontroller är att användaren får Access-felmeddelanden om h*n skriver fel i numeriska fält eller datumfält.


Svara

Sv:Ändra värde i en bunden textruta

Postades av 2006-12-04 09:10:50 - Maria Jönsson

Hej Åsa och tack för ditt svar.

Jag tror nog jag vill ha kvar mina egna felmeddelanden så jag får nog köra som jag gjort innan... Det jag får göra är nog att ha min id-ruta obunden också. Jag vet att jag är lite dålig att använda access inbyggda funktioner för skapa nya poster, uppdatera o dyl. Jag jobbade med VB för några år sedan och är van att göra egna funktioner för sådant. Bra eller dåligt vet jag inte....Det har iallafall funkat bra för mig.


/Maria


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 766
27 960
271 761
583
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies