Avatar billede juks Novice
30. oktober 2002 - 23:20 Der er 11 kommentarer og
1 løsning

kode virker ikke første gang

hvorfor virker denne kode kun 2.3.4.5.6... gang man trykker på en given post , første gang vises der ikke noget i textfeltet men den skriver til tabellen

Private Sub Kontonr_DblClick(Cancel As Integer)
On Error GoTo err
Dim dbs As Database
Dim rst As dao.Recordset
 
   
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Select * from tbl_udskriv ", dbOpenDynaset)
    With rst
        .AddNew
        !Kontonr = Me.Kontonr
        .Update
    End With


   
    'Empty the field
    Me.Tekst16 = ""

 
        ' If Me.Tekst16 = "" Then
          ' Do While Not rst.EOF
        ' Me.Tekst16 = Me.Tekst16 & rst!Kontonr
          'rst.MoveNext
          'Loop
          'Else
          Do While Not rst.EOF
          Me.Tekst16 = Me.Tekst16 & "," & rst!Kontonr
          rst.MoveNext
Loop
'End If

err:

End Sub
Avatar billede kabbak Professor
30. oktober 2002 - 23:31 #1
Prøv med en

  Me.Refresh

til slut
Avatar billede kabbak Professor
30. oktober 2002 - 23:33 #2
og lug tabellen med

rst.close
dbs.Close
Avatar billede kabbak Professor
30. oktober 2002 - 23:33 #3
lug = luk  ;o)
Avatar billede juks Novice
31. oktober 2002 - 00:04 #4
me.requery virker fint , men det er bare mystisk at man ikke kan nøjes med at lave en felt.requery. men det hønger sammen med at den køre denne kode når man laver en requery , det behøver man stadig kun at gøre første gang anden gang kan man nøjes med felt.requery. så det løser faktisk ikke problemet.
--------------
.Dim dbs As Database
Dim rst As dao.Recordset

   
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("tbl_udskriv")
   
    'Empty the field
    Me.Tekst16 = ""
   
    Do While Not rst.EOF
          Me.Tekst16 = Me.Tekst16 & "," & rst!Kontonr
          rst.MoveNext

        Loop
        rst.Close
Avatar billede juks Novice
31. oktober 2002 - 00:05 #5
koden i indlæg ad 31/10 2002 00:04:35 er koden i ved aktuelle
Avatar billede amerikaner Nybegynder
31. oktober 2002 - 07:45 #6
felt.requery er bare DET, requery med data så hvis ens felt er
=IIf(DLookUp("WORKSTOP_LOG";"D_ORDER_PRODUKTION";"SALGS_ORDRE_ID = " & [txtSOHolder] & " AND INST_NR = '" & [txtPOHolder] & "'")=Sand;"WORKSTOP";"")
Man kan requery feltet og functionen (og DLookup) vil kører.  Kode er en anden ting. 

Men...du har Me.Repaint det er ikke så voldsom som refresh (som requery hele formular), prove det.
Avatar billede mugs Novice
31. oktober 2002 - 19:56 #7
juks:

Me.Refresh opdaterer rettede poster, men tilføjer ikke nye poster.
Me.Requery tilføjer nye poster i tabellen.
Avatar billede juks Novice
31. oktober 2002 - 20:22 #8
men hvorfor er det så kun nødvendigt at lave en requery 1. gang, 2. og 3. gang kan men ren faktisk rem'e den linje , og ville feltet stadig opdatere´.
jeg har rent faktisk lavet koden så den kun laver requery hvis me.tekst16 er tomt.

det burde da virker på samme måde om det var 1 .2 eller 99999. gang man lavede et klik på en given post
Avatar billede mugs Novice
31. oktober 2002 - 20:27 #9
Hvis vi ser på din oprindelige kode i spørgsmålet, tilføjer du en ny post med AddNew. Den nye post bliver ikke opdateret i tabellen, før du:

- Flytter fra posten.
- Lukker formularen.
- Køre en genforespørgsel (Me.Requery)

Hvis db har udført en af disse 3 handlinger, vil efterfølgende rettelser blive opdaterede ved hjælp af Me.Refresh
Avatar billede mugs Novice
31. oktober 2002 - 20:30 #10
Jeg har ikke afprøvet dette:

I stedet for at benytte "" for et tomt felt, så prøv at bruge flg:

If IsNull(Me.tekst16) Then
og så noget kodeværk
End if

Når du skal sætte tekst16 til ingenting (Null-værdi):

Me.tekst16 = Null
Avatar billede mugs Novice
31. oktober 2002 - 20:31 #11
Det modsatte af IsNull:

If Not IsNull(Me.tekst16) Then
og så noget kodeværk
End if

Og så var det også på tide med et svar herfra :o)
Avatar billede juks Novice
01. november 2002 - 09:22 #12
men tilbage til mit spg mugs, hvorfor virker koden ikke første gang , men der efter virker det fint.


min kode ser sådanne ud.
--------
Private Sub Kontonr_DblClick(Cancel As Integer)
On Error GoTo err
Dim dbs As Database
Dim rst As dao.Recordset
 
   
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Select * from tbl_udskriv ", dbOpenDynaset)
    With rst
        .AddNew
        !Kontonr = Me.Kontonr
        .Update
    End With


   
    'Empty the field
  Me.Tekst16 = ""

   
       
          Do While Not rst.EOF
          Me.Tekst16 = Me.Tekst16 & "," & rst!Kontonr
          rst.MoveNext
         
Loop
rst.Close
dbs.Close
If Me.Tekst16 = "" Then
Me.Requery
Else
Me.Tekst16.Requery
End If
err:
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester