26. juli 2006 - 15:45
Der er
8 kommentarer og 1 løsning
Opret i table med VB
Hej, Nedenstående kigger i table "Kunder" efter et kundenummer og hvis kundenumret findes i den table så gemmer den det i table "Label" Hvordan gör jeg hvis jeg ikke vil have den til at tjekke den table "Kunder" men kun indsätte direkte i table "Label" uanset om den er der eller ikke? --- Private Sub cmdTilføj_Click() Dim SQL As String If Not IsNull(DLookup("Kundenr", "Kunder", "Kundenr=txtKundenr")) Then SQL = "INSERT INTO Labels ([Kundenr], [Navn], [Adresse], [Postnr], [By])" & vbCrLf & _ "SELECT [Kundenr], [Kundenavn], [Kundeadresse], [Kundepostnr], [Kundeby]" & vbCrLf & _ "FROM Kunder WHERE Kundenr = " & txtKundenr.Value CurrentDb.Execute (SQL) Me.Requery Else MsgBox "Kundenr. " & txtKundenr & " kendes ikke", vbExclamation End If txtKundenr = "" txtKundenr.SetFocus End Sub
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Årsagen til at kundenummeret tjekkes, er jo primært for at hente kundens navn og adresse i tabellen Kunder. Hvis ikke du tjekker nummeret, mangler du jo navn og adr. Hvor forestiller du dig, at de skal komme fra?
Fjern IF-sætningen: Private Sub cmdTilføj_Click() Dim SQL As String SQL = "INSERT INTO Labels ([Kundenr], [Navn], [Adresse], [Postnr], [By])" & vbCrLf & _ "SELECT [Kundenr], [Kundenavn], [Kundeadresse], [Kundepostnr], [Kundeby]" & vbCrLf & _ "FROM Kunder WHERE Kundenr = " & txtKundenr.Value CurrentDb.Execute (SQL) Me.Requery txtKundenr = "" txtKundenr.SetFocus End Sub
thesurfer >>> Hvis ikke kundenummeret findes, giver det jo ikke den helt store mening.
Den skal kun taste kundenumret! Insert into skal derfor kun indeholde "kundenr" Al relation til Kundetable skal fjernes! 1 tabel, 1 form hvor der tastes 1 kundenr som gemmes i table kunde (kundenr) :-)
... du mener formodentlig "gemmes i table Label" og ikke i "kunde" Private Sub cmdTilføj_Click() Dim SQL As String SQL = "INSERT INTO Labels ([Kundenr]) SELECT '" & Me.txtKundenr & "'" CurrentDb.Execute (SQL) Me.Requery End If Me.txtKundenr = "" Me.txtKundenr.SetFocus End Sub
Jeg hopper ud af spørgsmålet.
Hov - overså lige en End If: Private Sub cmdTilføj_Click() Dim SQL As String SQL = "INSERT INTO Labels ([Kundenr]) SELECT '" & Me.txtKundenr & "'" CurrentDb.Execute (SQL) Me.Requery Me.txtKundenr = "" Me.txtKundenr.SetFocus End Sub
Ja, tak! Det var lige det! Er ikke så god til dette - en anden som havde lavet det :-)
Learning by doing ;o) Tak for point
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser