Avatar billede rickie Juniormester
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
Avatar billede fdata Forsker
26. juli 2006 - 15:50 #1
Å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?
Avatar billede thesurfer Nybegynder
26. juli 2006 - 15:51 #2
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
Avatar billede fdata Forsker
26. juli 2006 - 15:57 #3
thesurfer >>> Hvis ikke kundenummeret findes, giver det jo ikke den helt store mening.
Avatar billede rickie Juniormester
26. juli 2006 - 15:58 #4
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) :-)
Avatar billede fdata Forsker
26. juli 2006 - 16:08 #5
... 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
Avatar billede thesurfer Nybegynder
26. juli 2006 - 16:08 #6
Jeg hopper ud af spørgsmålet.
Avatar billede fdata Forsker
26. juli 2006 - 16:08 #7
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
Avatar billede rickie Juniormester
26. juli 2006 - 16:14 #8
Ja, tak! Det var lige det! Er ikke så god til dette - en anden som havde lavet det :-)
Avatar billede fdata Forsker
26. juli 2006 - 16:23 #9
Learning by doing  ;o)
Tak for point
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