Jeg har bikset denne kode sammen, men det springer i luften.
Private Sub Command3_Click() Dim DB As Database Dim RS As Recordset Set DB = OpenDatabase(\"C:\\Ting og Sager\\Teknologi projekt\\notat.mdb\") Set RS = DB.OpenRecordset(\"Notat\") SQLstring = \"SELECT Notat.NotatID From Notat WHERE (Notat.NotatID = \'\" & List3.Text & \"\')\" Set RS = DB.OpenRecordset(SQLstring)
Det er fordi din SQLstring ikke referer til en database. Se hvor den havner, ved at sætte msgbox ind som giver dig de data der står i det felt du ønsker at slette. (Blot et tipz!)
Noget andet, drop da den SQLstring og gør sådan her:
rs.movefirst
\'Læg denne rutine i en sub Do Until RS.EOF If RS!NotatID = List3.text then exit sub Loop \' her til
Rutinen vil foresten hvis den ikke finder noget i Listboxen at sammenligne med i tabellen, så vil den havne på sidste record, og ønskes denne ikke slettet skal du lige tilføje i suben foreks. msgbox (\"Ingen poster fundet der matchede, din lede bruger ko, så derfor sletter jeg den sidste!\")
Synes godt om
Slettet bruger
12. oktober 2000 - 14:06#19
Es springst im lufts noch ein mal.
Object invalid or no longer set.
Koden:
Private Sub Command3_Click() Dim DB As Database Dim RS As Recordset Set DB = OpenDatabase(\"C:\\Ting og Sager\\Teknologi projekt\\notat.mdb\") Set RS = DB.OpenRecordset(\"Notat\", dbOpenTable)
RS.MoveFirst
Find_onsket_record \'subrutine
RS.Delete
End Sub
Private Sub Find_onsket_record()
Do Until RS.EOF If RS!NotatID = List3.Text Then Exit Sub Loop
Her har du lige en slat point for al dit besvær :)
Synes godt om
Slettet bruger
12. oktober 2000 - 14:47#27
Her er koden der virker. Jeg skulle lige rette notat til notatid et par steder. Det var det hele.
Private Sub Command3_Click() Dim DB As Database Dim RS As Recordset Set DB = OpenDatabase(\"C:\\Ting og Sager\\Teknologi projekt\\notat.mdb\") Set RS = DB.OpenRecordset(\"Notat\")
Do While i = 0 If RS!notatid = List3.Text Then i = 1 If RS.EOF Then MsgBox \"Ingen record fundet\" i = 2 End If If i = 0 Then RS.MoveNext Loop
\'dimensionering af databasen Dim DB As Database Dim RS As Recordset
\'dimensionering af løkke Dim i as integer i = 0
\'Åbne databasen Set DB = OpenDatabase(\"C:\\Ting og Sager\\Teknologi projekt\\notat.mdb\") Set RS = DB.OpenRecordset(\"Notat\", dbOpenTable)
\'Find den record der skal slettes, dette bliver tastet ind i et textfelt.
rs.movefirst \'hopper til den første record
do until rs.eof if rs!notat = text1.text then \'Her skal der stå en gyldig parameter msgbox (\"Recorden er fundet\") rs.delete i = 1 end if if i = 0 then rs.movenext loop
End Sub
Denne rutine virker, gør den ikke det, så har du en stavefejl et eller andet sted.
Hov min sidste rutine indeholder også en fejl, hvis den finder recorden vil den køre ud i en uendelig løkke....
Synes godt om
Ny brugerNybegynder
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.