Problem mit Accessformular und VBA Script zum eintragen von Daten

Redaro

Grünschnabel
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 =)
 
Hallo ....... viel Text ..... aber mal probieren.

Mein Vorschlag ... User gibt was ein was nicht im Listenfeld eingetragen ist.
Nun bekommt der User eine Meldung " Listeneintrag fehlt, wollen Sie dies ergänzen" mit JA/NEIN Button.
Bei Klick Ja kommt ein Formular das den neuen Eintrag zulässt... und als kleines Schmanckerl kann man da auch noch nach Anzahl Buchstaben prüfen lassen. (Beim Beispiel auf 17 Zeichen reduziert er automatisch)
User kann dies nun abspeichern und kehrt auf das vorherige Formular zurück wo dann der neue Eintrag schon gleich drinn steht !

Meintest Du das so Wenn ja kann ich dir was anhängen sollte nur wissen welches Access Du besitzt.

Greatz RavelinePower
 
Hallöle

Mein Chef soll nicht sagen ich arbeite Nachts nichts. :)

Siehe Anhang

Gute Nacht RavelinePower
 

Anhänge

  • db1.zip
    23,2 KB · Aufrufe: 53
Danke für deine Mühe. Welche Access Version... puh... da bin ich überfragt. Mit der Lösung war mein Chef nicht zufrieden -.-
kA Warum. Über das Eingabeformular sollen nicht vorhandene einträge direkt in eine 2te Tabelle eingetragen werden...
Trotzdem Danke. Ich versuchs dem noch mal schmackhaft zu machen aber glaube nicht das das gelingt.

mfG
 
Hallo

Was möchte Dein Chef nicht? Du hast nicht einmal die Bsp DB1 angeschaut, wie ich sie gebastelt habe. Solltest Du mal vielleicht tun. Dann schildere doch mal wie der ablauf funktionieren sollte, Wie Was wenn Wo

So kann man besser helfen als sich was zusammen zu reimen und dann ist es doch falsch.

Grüßle RavelinePower

PS:. Ich habe nochmals oben alles gelesen, eine andere Lösung wie ich Dir die gab, wirst Du nicht gleich finden. Klar könnte man dies alles automatisieren ohne das der User dies bemerkt. Hat aber den Nachteil das man vieles doppelt und 3 fach dann hat.
 
Zuletzt bearbeitet von einem Moderator:
Sorry das es so rüber gekommen ist das ich mir das nicht angesehen bzw. es verucht hätte mir anzusehen...
Das Problem ist nur das ich auf Arbeit keine Rechte habe (bin nur eine Aushilfskraft) um Dateien aus dem Internet herunter zuladen und zu Hause habe ich kein Access.

Daher hab ich mich auf deine Erklärung stützen müssen. Ich wollte dich nicht anlügen oder irgendwie kränken.
 
Sorry das es so rüber gekommen ist das ich mir das nicht angesehen bzw. es verucht hätte mir anzusehen...
Das Problem ist nur das ich auf Arbeit keine Rechte habe (bin nur eine Aushilfskraft) um Dateien aus dem Internet herunter zuladen und zu Hause habe ich kein Access.

Daher hab ich mich auf deine Erklärung stützen müssen. Ich wollte dich nicht anlügen oder irgendwie kränken.

Hy Redaro.

Das hilft mir und Dir am aller wenigsten. Office 2007 bekommt man eine 60 Tage Trail Version Orginal von Microsoft umsonst kostenlos. Also hättest Du dann zumindest ein Access. :)

Desweiteren solltest Du dann mal schildern (ausführlich) Wie ... Was ... Wenn ... Dann usw.
Somit kann man dann schneller und effizienter Helfen. Weil ein Code Posten kann ich auch weiß aber nicht wie Tabellen Abfragen Formulare Listen oder Kombifelder alle heißen und wie sie aufgebaut sind.
Siehst Du was ich damit meine ?
Geh mal zu Deinem Chef und frag Ihn mal was er braucht. Und wie er sich das vorstellt ohne was runterzuladen (Beispiele usw.) zu seinem Ziel zu kommen.
Lol den hier was fragen und gleich eine kompetente Antwort zu bekommen, ist sehr unwarscheinlich wenn man sich nicht auskennt.

Also überleg das mal mit dem Chef und dann lesen wir uns weiter.

Grüße RavelinePower
 
So... Ich bin jetzt auf Arbeit und hab mir deine db1.rar mal mitgenommen... Mich ein bischen da durch gewuselt und meinem Chef als Beispiel gezeigt. Er wörtlich: "Können SIe ja mal so übernehmen. Kann man ja immer noch verwerfen wenn man was besseres hat."

Also kann ich das so, in die DB hier übernehmen ^^

Ich hab zwar jetzt ein neues Problem aber dafür erstell ich ein neues Thema ^^

THX nochmal und mfg
 
Zurück