Avatar billede stry Nybegynder
29. juni 2003 - 15:24 Der er 17 kommentarer og
1 løsning

Atomatisk opdatere liste

Tabel1 er en feltliste til en kombiboks. Værdien i kombiboksen gemmes i tabel2. Jeg skal bruge en AfterUpdate-event på kombiboksen som automatisk tilføjer værdier til Tabel1 hvis de ikke findes der i forvejen.
Hvordan skal den skæres?
Avatar billede mugs Novice
29. juni 2003 - 15:26 #1
Se under egenskaben NotInList.
Avatar billede mugs Novice
29. juni 2003 - 15:27 #2
Søg evt. i ekspertens vidensbase. Emnet har været oppe adskillige gange.
Avatar billede terry Ekspert
29. juni 2003 - 15:30 #3
Private Sub InvestmentTypeID_NotInList(NewData As String, Response As Integer)
Dim prompt As String
   
    Response = acDataErrContinue
   
    prompt = "Denne type findes ikke i listen, ønsker du at oprette den?"
    If MsgBox(prompt, vbYesNo, "Typen findes ikke!") = vbYes Then
   
        DoCmd.OpenForm "frmTypeMaintenance", , , , acFormAdd, acDialog, NewData
        If DLookup("TypeID", "tblType", "TypeName = '" & NewData & "'") Then
       
            Response = acDataErrAdded
           
        End If
   
    End If
         
End Sub
Avatar billede stry Nybegynder
29. juni 2003 - 15:31 #4
OK, jeg kan se at det er "NotInList" event'en jeg skal bruge, men hvordan skal koden som gemmer den nye værdi i Tabel1 se ud?
Avatar billede stry Nybegynder
29. juni 2003 - 15:33 #5
Prøver lige Terry's forslag. Jeg vil dog ikke have nogen msgbox, det skal ske automatisk.
Avatar billede terry Ekspert
29. juni 2003 - 15:33 #6
In this example I open another form to enter further information. If there is only one field you need to enter then you can do it directly in code

Private Sub InvestmentTypeID_NotInList(NewData As String, Response As Integer)
Dim prompt As String
   
    Response = acDataErrContinue
   
    prompt = "Denne type findes ikke i listen, ønsker du at oprette den?"
    If MsgBox(prompt, vbYesNo, "Typen findes ikke!") = vbYes Then
    docmd.runsql "INSERT into YourTable (TheField) VALUES ('" & NewData  & "')"
            Response = acDataErrAdded
           
        End If
   
    End If
         
End Sub
Avatar billede terry Ekspert
29. juni 2003 - 15:34 #7
Private Sub InvestmentTypeID_NotInList(NewData As String, Response As Integer)
   
    docmd.runsql "INSERT into YourTable (TheField) VALUES ('" & NewData  & "')"
            Response = acDataErrAdded
           
End Sub
Avatar billede stry Nybegynder
29. juni 2003 - 15:36 #8
>Terry
Gider du at rette den til med mine tabel- og formularnavne.
Feltliste = Tabel1
Gemte værdier = Tabel2
Formular = Formular1
Avatar billede mugs Novice
29. juni 2003 - 15:37 #9
Når du automatisk vil tilføje poster, er det ikke nødvendigt med en combo. Hvis du laver en stavefejl, vil den nye post automatisk blive tilføjet med stavefejl og hvad værre er ukurante data til følge.
Avatar billede stry Nybegynder
29. juni 2003 - 15:39 #10
Jeg bruger combo for at få autoudfyldning med.
Avatar billede terry Ekspert
29. juni 2003 - 15:40 #11
I need to know the name of the table and field you are using in the combo
Avatar billede stry Nybegynder
29. juni 2003 - 15:43 #12
combo = værdi
table = tabel1
field = liste
Avatar billede terry Ekspert
29. juni 2003 - 15:43 #13
docmd.runsql "INSERT into tabel1(liste) VALUES ('" & NewData  & "')"
            Response = acDataErrAdded
Avatar billede terry Ekspert
29. juni 2003 - 15:44 #14
I am assuming that the field (liste) is a text value!
Avatar billede stry Nybegynder
29. juni 2003 - 15:53 #15
Det virker efter at jeg satte "BegrænsTilListe" til ja, men den kommer med en irierterende advarselsboks om at jeg er ved at tilføje en række, den vil jeg gerne undgå?
Avatar billede terry Ekspert
29. juni 2003 - 15:57 #16
Docmd.setwarnings false

Then after the insert

Docmd.setwarnings True
Avatar billede stry Nybegynder
29. juni 2003 - 16:01 #17
>>Terry
Perfect! , tak for hjælpen
Avatar billede terry Ekspert
29. juni 2003 - 16:09 #18
selv tak :o)
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