20. november 2002 - 16:51Der er
16 kommentarer og 3 løsninger
Not in list - tilføj nye data
Hvorfor hulan virker denne kode ikke, hvis jeg kører min dB fra Access XP (2002) ??? Virker fint hvis jeg kører den fra Access 2000. Jeg har med vilje valgt IKKE at konvertere dB til XP, da den skal kunne køres fra Access 2000.
Koden tjekker op om en specifik PCtype finde i min dB hvis nej, promtes bruger om typen skal oprettes - mhh i hvert fald hvis man ikke kører XP :(
Min tabel (tblPCModel) bliver ikke opdateret med de nye data. Jeg bliver bare endnu en gang promtet for om jeg ønsker at tilføje den indtastede type. JEPS det gør jeg, men der sker nada :(
Private Sub Model_NotInList(NewData As String, Response As Integer) ' egenskaben på comboboxen er sat til begræns til liste, ' advarsel fra Access undertrykkes ' dvs er ikke muligt at skrive en PCmodel der ikke findes i dB. '********* Bruger spørges om ønsker at tilføje PCmodel, hvis JA tilføjes den, ' ellers MsgBox om at vælge eksisterende model fra listen *****************
Dim promt As String Dim rs As ADODB.Recordset
On Error GoTo Err_Handler
Response = acDataErrContinue
promt = "Modellen " & NewData & " findes ikke i databasen, ønsker du at oprette den ?" If MsgBox(promt, vbYesNo, "PC model findes ikke!") = vbYes Then
' tilføj det indtastede og opdater tabellen tblPCModel Set rs = New ADODB.Recordset rs.Open "tblPCmodel", CurrentProject.Connection, adOpenKeyset, adLockOptimistic rs.AddNew rs!Lokalnr = NewData rs.Update Response = acDataErrAdded rs.Close Set rs = Nothing
Else
' 0 = falsk, dvs er ikke i comboboxen Response = 0 MsgBox "Modellen " & NewData & " er ikke oprettet i databasen." + vbLf + vbLf + "Vælg en eksisterende på listen i stedet for.", vbOKOnly + vbInformation, "PC model findes ikke"
' slet det bruger tastede ind i comboboxen Model.Undo
End If
Err_Handler:
If Error = 2116 Or Error = 3112 Then MsgBox "Modellen" & NewData & " kan ikke oprettes, da den findes i forvejen." + vbLf + "Vælg en model fra listen, eller opret en ny.", vbInformation + vbOKOnly, "Oprettelse ikke mulig"
ups sorry :) problemet er at ex jeg opretter en ny record, og indtaster en ny pctype i min combo. Jeg bliver promtet, da typen ikke findes - fint nok så langt. jeg vælger JA, og så sker der ikke mere - den nye pctype bliver ikke tilføjet til min tabel tblPCModel
.....heyyyy just a sec - jeg skal lige have tjekket noget ......
Lige en småting mere: Din sidste "Else Exit Sub" laver reelt ikke noget og er derfor overflødig. Du kunne evt. placere en "Exit Sub" inden Err_Handler, men som din kode er lige p.t. skulle det vist ikke være nødvendigt.
.....for x#%% da også - det ville jo hjælpe lidt hvis jeg åbner øjnene og tjekker min kode ordentligt LOL
......skal være
kode bla bla bla.. rs.AddNew rs!Model = NewData
OG IKKE rs!Lokalnr = NewData
hehe det kunne der ellers være kommet meget bøvl ud af :)) opret en masse nye records og indsæt nogen data i et forkert felt :)) - er vist på tide jeg holder fri for i dag LOL
>>terry U are right - of course it´s much easier to just use an SQL statement. Saves a lot of unnessecary code - never unestimate the power of SQL - love it :))
>>superjap jo den sidste Exit sub er nødvendigt hvis brugeren fremprovokerer andre fejl end 2116 og 3112 .....og spørg mig nu ikke lige om hvad de 2 fejl-stoppere forhindrer - i hvert fald ikke lige nu hvor min hjerne er ved at være lidt for træt :))
....ellers en god ide at indsætte et par pauser i koden, men det hjælper ikke når jeg har slået hjernen fra LOL jeg sætter jo en kode på hvori jeg beder om at få tilføjet en ny model i feltet Lokalnr og det udføres jo også - der er bare lige den lille smutter at jeg mener "tilføj en ny model i feltet MODEL" ....hehe gør som jeg mener og ikke hvad jeg skriver :))
Exit'en er vel ikke nødvendig, når du ikke ikke har nogen "resume next" sætning?
Jeg tror vi alle kender den med hjernen - nogen gange er den gået hjem længe inden fyraften (måske var den slet ikke med fra morgenstunden, men her kan man dække sig ind unden den almindelig morgensløvhed)
;)) så skidt da, jeg sætter en exit sub på i morgen, så proceduren afsluttes - no props there :) ...jeg er jo ikke meget for at indrømme det - men ja selvfølgelig skal en procedure afsluttes - stort smil herfra
...syntes nu alligevel I har fortjent noget for jeres tid - laver lige en fordeling i morgen.... thnx guys
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.