Office: (Office 2007) Code Wiederholen / VBA

Helfe beim Thema Code Wiederholen / VBA in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Morgen zusammen, erstmal vorweg , bin kein experte mit Access, ich würde sagen noch ein kleiner anfänger aber schon etwas fortgeschritten......... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von neutrino24, 4. Mai 2009.

  1. Code Wiederholen / VBA


    Guten Morgen zusammen,

    erstmal vorweg , bin kein experte mit Access, ich würde sagen noch ein kleiner anfänger aber schon etwas fortgeschritten...... Und sehr lernfähig ;-)

    So nun zu meinen Anliegen, ich bastel gerade eine kleine DB unter Acc2007 für unsere Firma. Wir sind ein Technik Unternehmen die Reparaturen verschiedener Receiver durchführt.

    Ich bin gerade dabei eine Wareneingangsmaske per Formular zu erstellen.
    Es soll immer die Seriennummer des Receiver im Wareneingang gescannt werden. Klappt auch alles wunderbar. Nur soll ja auch ein dubletten Check erfolgen, dies habe ich dann über die Tabelle Aktiviert, Die Standartmeldung habe ich per VBA geändert. Alles super. Leider wird der Code nur einmal ausgeführt und bei einer weiteren Doppelten Nr. wird der Code nicht mehr ausgeführt. Wichtig ist das nach einem Fehler eine Meldung erscheint und im zuge gleich danach weitergearbeitet werden kann.

    Anbei der Code den ich verwende:

    Private Sub Form_Error(DataErr As Integer, Response As Integer)
    Select Case DataErr
    Case 3022
    Response = acDataErrContinue
    MsgBox "Seriennummer schon vorhanden !! "
    Case 2105
    Response = acDataErrContinue
    DoCmd.Close
    DoCmd.OpenForm "Wareneingang DCB-B270G", WindowMode:=acDialog

    Case Else
    Reponse = acDataErrDisplay


    End Select

    End Sub

    Eine andere Frage, ist es nicht möglich eine Ampel einzubauen, wenn die Seriennummer OK ist, leuchte es grün, bei einer Doppelten oder Fehlerhaften eingabe soll eine Rote Leuchte leuchten, erscheinen. Ich weiß das es sowas unter Excle gibt ( trafficlight )

    Schon mal vielen Dank für eure Hilfe .

    Viele Grüße Flo

    :)
     
    neutrino24, 4. Mai 2009
    #1
  2. Hi,

    wird vielleicht irgendwo im weiteren Code die Fehlerverarbeitung ausgeschaltetet (On Error Resume next) und nicht wieder eingeschaltet?

    Und zur Ampel: Du kannst gerne ein Rechteck im Fehlerfall 3022 mit roter Farbe füllen. Aber du musst dann auch dran denken, bei einer zulässigen Nummer die Ampel auf grün zu stellen.

    Im übrigen deutet eine Ampel eher einen Status an. Ich weiß nicht, ob es ein Status ist, wenn die eingegebene Nummer faul ist. Da kommt am besten eine Meldung, fertig. Die Ampel bliebe ja bei zulässigen Nummern auch immer grün, was ziemlich nervt.
     
    Atrus2711, 5. Mai 2009
    #2
  3. Hi, nein das ist bis jetzt der ganze Code für das Wareneingangsformular.
    Bezüglich Dubletten check

    Da hast du recht mit der Ampel, ich werde es dann versuchen nur bei einem Fehler das ein rotes signal erscheint. Oder ?? Ich möchte es für den Mitarbeiter sehr einfach haben es soll gleich erkannt werden das dort ein Fehler ist. Ich denke mit farben oder Bildern ist dies klarer zu verstehen :-))))))
     
    neutrino24, 5. Mai 2009
    #3
  4. Code Wiederholen / VBA

    Eine Meldung hat den Reiz, dass sie weggeht und wiederkommt, wenn der Fehler bestehen bleibt. Eine Ampel muss ständig aktuell (rot oder grün) gehalten werden.

    Zum Code:
    Setz mal einen Haltepunkt auf das Select und provoziere einen zweiten Fehler. Wird die Routine dann überhaupt aufgerufen?
     
    Atrus2711, 5. Mai 2009
    #4
  5. :-( Sorry, verstehe gerade nicht was du meinst. Wie ein halte punkt auf select.

    Sorry für die blöde frage
     
    neutrino24, 5. Mai 2009
    #5
  6. mußt Du dann aber wieder zurücknehmen *wink.gif*

    Haltepunkt oder auch Break-Point genannt setzt Du im VBA-Editor.(Alt+F11)

    Zeile markieren, Menü Debuggen->Haltepunkt ein/aus oder einfach F9 oder doppelklick am Zeilenanfang (graue Spalte).

    Gruß

    LL
     
    User, 5. Mai 2009
    #6
  7. Zitat:

    ...aber schon etwas fortgeschritten
    mußt Du dann aber wieder zurücknehmen


    :-) sorry da hast du recht, naja, lernfähig *tongue.gif*

    gesetzt, nun wird wieder der Standart von Access angezeigt, erst die Meldung das die vorgenommene Änderung in der Tabelle nicht vorgenommen werden kann, 2 Meldung das ich nicht automatisch zum nächsten Datensatz springen kann. - Nächster Popup von Access, Aktion fehlgeschlagen , Könnte jetzt Macros anhahalten oder mit x schliessen

    Gruß Flo
     
    neutrino24, 6. Mai 2009
    #7
  8. Code Wiederholen / VBA

    Das ist der 3022, der kommt aber nicht aus deinem Code, sondern von Jet.
    Wer will da springen...?
    Das ist eine Makromeldung. Hast du da ein Makro laufen?

    Hast du mal manuell das Formular geöffnet und geschaut, ob das Formular an sich klappt? Mir scheinen da Makrobefehle dazwischenzufunken.

    Makros sind eh Mist: http://dbwiki.de/wiki.php?title=Access_Design:Makros
     
    Atrus2711, 6. Mai 2009
    #8
  9. Hi,

    das ist richtig, das ist die Meldung vom Dubletten check, ich habe in der Tabelle keine Dublikate ausgewählt, und das ist dann der fehlercode dazu, habe ihn dann geändert, und eine eigenen Text eingebaut.

    Nach jeder eingetragen Seriennummer springt er automatisch zum neuen Datensatz, hierfür habe ich ein Macro genommen.
    Der Mitarbeiter scannt die Seriennummern mit einen Barcodescanner sobald der Scan abgeschlossen ist springt das Formular zum nächsten neuen Datensatz.

    Klar habe ich das Formular Manuell geöffnet, läuft wunderbar. Auch meinen Codes die ich oben schon geschrieben habe Funktioniert, aber nur einmal, und dann bekomme ich wieder die Standart meldung von Access.

    Viele Grüße Flo
     
    neutrino24, 6. Mai 2009
    #9
  10. Lad mal hoch. Blicke es gerade nicht aus der Ferne...

    Das mit dem Makro ist jedenfalls zum Scheitern verurteilt, wenn die Seriennummer schon existiert. Dann geht nix.

    Weiß auch nicht, warum du Makros und VBA mixt.
     
    Atrus2711, 6. Mai 2009
    #10
  11. Hi,

    anbei ein kleiner Einblick, habe nur das Formular und die Tabelle hinzugefügt.


    Das habe ich auch schon gemerkt :-( aber so gut kenne ich mich damit dann auch noch nicht aus. Bin ja noch am Lernen.

    Viele Grüße
     
    neutrino24, 6. Mai 2009
    #11
  12. Bitte zippen, darf keine Rars öffnen.
     
    Atrus2711, 6. Mai 2009
    #12
  13. Code Wiederholen / VBA

    Anbei als Zip
     
    neutrino24, 6. Mai 2009
    #13
  14. Ich habe das eingebettete Makro mal rausgenommen. Dann klappts beim Eintippen der Nummer, sobald man selbst versucht, den Datensatz zu wechseln. Erst dann wird der Satz gespeichert, und erst dann prüft Access, ob es den Satz schon gibt.

    Das ist so natürlich unschön, da man nach jedem Scanvorgang erstmal durch Mausklick den Datensatz speichern müsste.

    Aber die meisten Scanner liefern am Ende des gelesenen Wertes ein Endezeichen (meist sogar einstellbar) mit. Das könnte man vielleicht abpassen und dann nicht durch die Formularbindung, sondern per VBA den Satz suchen. Wenn er dann schon existiert, meldet VBA eine Existenz, und das Nummernfeld könnte gleich wieder geleert werden.

    Etwa so (Luftcode):
    Code:
     
    Atrus2711, 6. Mai 2009
    #14
  15. :-) Suuppper vielen Dank, habe es bei mir mal getestet,

    Leider kenne ich mich nicht so gut in VBA aus, bekomme jetzt diesen Fehler
    " Syntaxfehler"

    Sobald ich eine Zahl eingebe, wird dieser fehler gleich angezeigt


    Private Sub Seriennummer_Change()
    Dim rst As DAO.Recordset
    If Right(Seriennummer, 1) = "*" Then
    'Endezeichen erreicht
    Set rst = Me.RecordsetClone
    rst.FindFirst "Seriennummer = '" & Me.Seriennummer & "'"
    If rst.NoMatch Then
    'Noch nicht vorhanden, weitermachen
    Else
    'Bereits vorhanden, abbrechen.
    End If rst.Close
    Set rst = Nothing
    End If
    End Sub


    Vielen Dank für deine Hilfe ;-)
     
    neutrino24, 6. Mai 2009
    #15
Thema:

Code Wiederholen / VBA

Die Seite wird geladen...
  1. Code Wiederholen / VBA - Similar Threads - Code Wiederholen VBA

  2. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  3. Code wird nicht komplett ausgeführt

    in Microsoft Excel Hilfe
    Code wird nicht komplett ausgeführt: Guten Morgen in die Runde! Situation: Dieser Code wird nicht komplett ausgeführt. es wird der Teil mit der Du Until Schleife übersprungen. Wenn ich aber mit Einzelschritte durch den Code gehe...
  4. Rabat Codes in einen Serienbrief einfügen

    in Microsoft Word Hilfe
    Rabat Codes in einen Serienbrief einfügen: Hi, Ich möchte bei einem Brief für meine Kunden eine Rabatcode einfügen. Diese sind zufällig erstellt und in Excel als Tabelle gespeichert. Wie bekomme ich diese nun so eingefügt das auf jedem...
  5. Combobox einbinden

    in Microsoft Excel Hilfe
    Combobox einbinden: Hallo, ich bastele an einer Funktion, bei der ich an einer Stelle im Programm eine Combobox aufrufen möchte, die dann mit bestimmten Werten aus einer Tabelle gefüllt ist und dann den gewählten...
  6. VBA Code für Zeilen ausblenden einblenden mit JA/Nein

    in Microsoft Excel Hilfe
    VBA Code für Zeilen ausblenden einblenden mit JA/Nein: Hallo, habe eine Exceltabelle, bei der ich bei einer Zelle eine Ja/Nein abfrage mache, wenn in der Zelle Nein steht, dann soll ein bestimmter Zeilenbereich, den ich definieren möchte, ausgeblendet...
  7. VBA Code ohne ergebnis

    in Microsoft Excel Hilfe
    VBA Code ohne ergebnis: Hallo, ich habe einen VBA Code der in meiner Tabelle nicht funktioniert. Kann mir vielleicht jemand bei der Korrektur ggf. weiter helfen? Danke und Gruß Private Sub Worksheet_Change(ByVal Target...
  8. Wiederholenden Code bei Userform "verkleinern"

    in Microsoft Excel Hilfe
    Wiederholenden Code bei Userform "verkleinern": Hallo zusammen ! Nachdem ich jetzt hier gelernt habe, wie ich in eine Userform Zellinhalte per Textbox verwenden kann, habe ich folgendes Problem: In meiner Tabelle werde ich ca. 100 Userforms...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden