Moin Moin liebe Leute.
Ich habe folgendes Problem:
Auf der Arbeit soll ich per Formular Daten in eine Access-Tabelle eintragen und in ein paar weitere die als Listen dienen sollen...
Fragt mich nicht warum aber soll halt so sein.
Ein Kollege hatte die Datenbank, die Tabellen, die Formulare und Scripts soweit erstellt und ich soll 1. Debuggen und 2. die Scripts soweit erweitern wie nötig. Mein Problem ist nur das ich nur über sehr begrenztes Wissen hinsichtlich Access und VBA verfüge. Vorallem in dieser Kombination.
Access alleine geht und VBA in Kombo mit Excel auch.
Aber ich schweife ab
Auf dem Formular zum eintragen ist ein Kombinationsfeld das seinen Dateninhalt aus einer von den "Listen"-Tabellen (diese Listen-Tabelle sind für meinen Kollegen eine Art kleine Übersicht was z.B. Produktbezeichnungen die bisher in der DB vorhanden sind... War nicht meine Idee
) erhält. Dieses Feld soll lernen falls eine neue Bezeichnung dazu kommt (die der Benutzer eingibt) die bisher noch nicht aufgetaucht ist.
Wenn ich nun in das Feld etwas eingebe das noch nicht vorhanden ist und auf den Speichernknopf auf dem Formular klicke wird alles in die "Kern"-Tabelle eingetragen, in der der gesammte Inhalt der Formularfelder geschrieben wird. In die "Listen"-Tabelle wird die neue Bezeichnung nicht eingetragen.
Jetzt meine eigentliche Frage wie bekomme ich hin das das Kombinationsfeld (Kombinationsfeld65 auf dem Formular) das es ein lernendes Feld wird. Mir egal ob per Script oder wie auch immer...
Falls das Script hinter dem Knopf zum Speichern weiterhilft poste ich es einfach mal mit:
Private Sub Befehl79_Click()
On Error GoTo Err_Befehl79_Click
Rem Screen.PreviousControl.SetFocus
Rem DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
DoCmd.SetWarnings False
Rem Pflichfelderabfrage
If IsNull(Me!Kombinationsfeld63) Then
MsgBox "Kein Auftraggeber! Datensatz kann nicht gespeichert werden! "
Exit Sub
Else
Rem
End If
If IsNull(Me!Kombinationsfeld10) Then
MsgBox "Keine Artikelnummer! Datensatz kann nicht gespeichert werden! "
Exit Sub
Else
Rem
End If
If IsNull(Me!Kombinationsfeld65) Then
MsgBox "Keine Produktbezeichnung! Datensatz kann nicht gespeichert werden! "
Exit Sub
Else
Rem
End If
If Me.ID = "" Then
Me.ID = Bring_MAX_ID + 1
Me.Refresh
DoCmd.OpenQuery "Abfr_Kern_NEU_FMEA_synchro"
DoCmd.Close
DoCmd.OpenQuery "Abfr_Kern_Tmp_löschen"
DoCmd.OpenForm "Start"
DoCmd.Maximize
Else
DoCmd.OpenQuery "Abfr_Kern_ID_löschen"
Me.Refresh
DoCmd.OpenQuery "Abfr_Kern_NEU_FMEA_synchro"
DoCmd.Close
DoCmd.OpenQuery "Abfr_Kern_Tmp_löschen"
DoCmd.OpenForm "Start"
DoCmd.Maximize
End If
DoCmd.SetWarnings True
Exit_Befehl79_Click:
Exit Sub
Err_Befehl79_Click:
MsgBox Err.Description
Resume Exit_Befehl79_Click
End Sub
mfG
Redaro
PS.
Ich hasse Access, SQL liegt mit mehr und damit zu arbeiten macht mir auch mehr Spaß aber ich darf nicht ^^
PSS.
Ich hab diesen Beitrag auf einem Laptop geschrieben und ich schreibe nur sehr ungerne auf Laptoptastaturen also seid bitte etwas nachsichtig mit eventeuellen Rechtschreibfehlern =)
Ich habe folgendes Problem:
Auf der Arbeit soll ich per Formular Daten in eine Access-Tabelle eintragen und in ein paar weitere die als Listen dienen sollen...
Fragt mich nicht warum aber soll halt so sein.
Ein Kollege hatte die Datenbank, die Tabellen, die Formulare und Scripts soweit erstellt und ich soll 1. Debuggen und 2. die Scripts soweit erweitern wie nötig. Mein Problem ist nur das ich nur über sehr begrenztes Wissen hinsichtlich Access und VBA verfüge. Vorallem in dieser Kombination.
Access alleine geht und VBA in Kombo mit Excel auch.
Aber ich schweife ab

Auf dem Formular zum eintragen ist ein Kombinationsfeld das seinen Dateninhalt aus einer von den "Listen"-Tabellen (diese Listen-Tabelle sind für meinen Kollegen eine Art kleine Übersicht was z.B. Produktbezeichnungen die bisher in der DB vorhanden sind... War nicht meine Idee

Wenn ich nun in das Feld etwas eingebe das noch nicht vorhanden ist und auf den Speichernknopf auf dem Formular klicke wird alles in die "Kern"-Tabelle eingetragen, in der der gesammte Inhalt der Formularfelder geschrieben wird. In die "Listen"-Tabelle wird die neue Bezeichnung nicht eingetragen.
Jetzt meine eigentliche Frage wie bekomme ich hin das das Kombinationsfeld (Kombinationsfeld65 auf dem Formular) das es ein lernendes Feld wird. Mir egal ob per Script oder wie auch immer...
Falls das Script hinter dem Knopf zum Speichern weiterhilft poste ich es einfach mal mit:
Private Sub Befehl79_Click()
On Error GoTo Err_Befehl79_Click
Rem Screen.PreviousControl.SetFocus
Rem DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
DoCmd.SetWarnings False
Rem Pflichfelderabfrage
If IsNull(Me!Kombinationsfeld63) Then
MsgBox "Kein Auftraggeber! Datensatz kann nicht gespeichert werden! "
Exit Sub
Else
Rem
End If
If IsNull(Me!Kombinationsfeld10) Then
MsgBox "Keine Artikelnummer! Datensatz kann nicht gespeichert werden! "
Exit Sub
Else
Rem
End If
If IsNull(Me!Kombinationsfeld65) Then
MsgBox "Keine Produktbezeichnung! Datensatz kann nicht gespeichert werden! "
Exit Sub
Else
Rem
End If
If Me.ID = "" Then
Me.ID = Bring_MAX_ID + 1
Me.Refresh
DoCmd.OpenQuery "Abfr_Kern_NEU_FMEA_synchro"
DoCmd.Close
DoCmd.OpenQuery "Abfr_Kern_Tmp_löschen"
DoCmd.OpenForm "Start"
DoCmd.Maximize
Else
DoCmd.OpenQuery "Abfr_Kern_ID_löschen"
Me.Refresh
DoCmd.OpenQuery "Abfr_Kern_NEU_FMEA_synchro"
DoCmd.Close
DoCmd.OpenQuery "Abfr_Kern_Tmp_löschen"
DoCmd.OpenForm "Start"
DoCmd.Maximize
End If
DoCmd.SetWarnings True
Exit_Befehl79_Click:
Exit Sub
Err_Befehl79_Click:
MsgBox Err.Description
Resume Exit_Befehl79_Click
End Sub
mfG
Redaro
PS.
Ich hasse Access, SQL liegt mit mehr und damit zu arbeiten macht mir auch mehr Spaß aber ich darf nicht ^^
PSS.
Ich hab diesen Beitrag auf einem Laptop geschrieben und ich schreibe nur sehr ungerne auf Laptoptastaturen also seid bitte etwas nachsichtig mit eventeuellen Rechtschreibfehlern =)