Office: (Office 2003) Kombobox auslesen und weitergeben

Helfe beim Thema Kombobox auslesen und weitergeben in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, habe versucht mit meinen "wachsenden" *wink.gif* Access-Skills Werte die an einer Kombobox hängen weiter zu geben. Eigentlich sollen... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Adversarius, 18. November 2013.

  1. Kombobox auslesen und weitergeben


    Hallo zusammen,

    habe versucht mit meinen "wachsenden" *wink.gif* Access-Skills Werte die an einer Kombobox hängen weiter zu geben.

    Eigentlich sollen einfach nur die entsprechenden colums in die Tabelle Bestellbuch geschoben werden und die Auftrags Nr soll Null gesetz werden. Ich bin mir auch keines Fehlers bewusst (allerdings habe ich einen sql-String benutzt und übe da gerade mit).Als Fehlermeldung kommt bei Klicken des Buttons "Laufzeitfehler 3061, 3 Parameter wurden erwartet, aber es wurden zu wenig P. übergeben"

    Code:
    Bin wie gehabt für jede Hilfe dankbar !

    Mit besten Grüßen
    Access-Zauberlehrling Adversarius

    :)
     
    Adversarius, 18. November 2013
    #1
  2. Ööh, darf ich mir zunächst die Frage erlauben, warum du Datensätze, die ja anscheinend schon vorhanden sind (als Datenquelle eines Kombifeldes) in eine weitere Tabelle einfügen willst? *entsetzt

    Dass die erste Spalte eines Kombis die Column(0) ist hast du berücksichtigt?
    Mach' mal probehalber auch um die Zahlwerte im VALUES-Teil Hochkommata drum, also.:
    Code:
    Ansonsten:
    Gewöhne dir an, alle Variablen zu deklarieren (AuftragsNrZero As Long) und oben in den Kopf unter Compare Database immer auch "Option Explicit" anzugeben.
    Und: den Code sinnvoll einzurücken erleichtert das Lesen ungemein, vor allem wenn's schon so spät ist *wink.gif* .

    maike
     
  3. Hallo,

    sind das tatsächlich alles Datenfelder vom Typ Zahl - mit Ausnahme von "AuftragsNr"?!

    Texte müssen in Hochkommata eingeschlossen werden.
     
    Anne Berg, 19. November 2013
    #3
  4. Kombobox auslesen und weitergeben

    Hallo die Damen !

    Ja es war wirklich schon zu spät gestern und dann ist mir das ganze Tageswerk beim 1. Speichern des Tages (Schande über mein Haupt) abgestürzt. Gab aber doch ein automatisches Backup, wie ich heute Morgen festgestellt habe.

    Also, JA & JA *upps , Natürlich sind alles bis auf Column (1) und der AuftragsNr Texttypen. Ich hatte die ganze Zeit im Kopf , dass Zeilen ja Zahlen sind (aber nicht die hinterlegten Felder)... Habe ich gehochkommat und teilweise noch angepasst.

    So funktioniert es jetzt schon ganz gut (habe es auch aufgeräumt, tut mir leid, die Unordnung im Code gestern !):
    Code:
    Ich mache das so, weil ich ein Eingabeformular habe, das normalerweise per Hand befüllt wird. Nun gibt es aber Auftragsarten (Dauerfträge in gleichnamiger Tabelle), die haben feste Angaben, wie eine feste Bestellnummer,etc. (Column 1-5, die 0=ID habe ich nicht vergessen Maike, hast du mir ja mal erklärt, brauche die hier aber nicht)

    Drücke ich nun mein Umschaltbutton (DauerauftragUS), setze ich mein Kombo auf visible=true, kann dort einen Dauerauftragstypen auswählen und "er" (der Geist der Maschine *tongue.gif* ) füllt für mich die entsprechenden Felder. Einzig die Auftragsnummer wird wie gehabt händisch eingetragen.

    Das funktioniert auch alles soweit jetzt schon wunderbar (bin fast n b isschen stolz, dass nur eine Fehlerart drin war). Allerdings legt er mir jetzt paralell immer 2 Datensätze an, nämlich zusätzlich einen mit der im Hintergrund noch vorhanden Banf. Das soll er ja nicht. Ich müsste eigentlich wohl nur am Beginn der Prozedur im If-Case Dauerauftrag=true irgendwas haben was sagt "gehe zu neuer Datensatz" oder!?

    Ausserdem müsste ich noch wissen, wie ich per Code die Textfelder sperren kann, die nicht händisch befüllt werden sollen, wenn DauerazftragUS =true ist.

    Danke *Smilie

    MfG Adversarius
     
    Adversarius, 20. November 2013
    #4
  5. Debug das mal *biggrin.gif* (da steht ein End If einsam in der Gegend).
    Dinge, die egalwech so eintreten sollen, einfach nur ein Mal unten aufführen, z.B. Me.belegt = True, Me.DauerauftragUS = False und Me.Requery.

    Da blick' ich jetzt nicht durch (im Hintergrund noch vorhanden?). Kann es sein, dass der neue Datensatz schon existiert und du hier also kein INSERT sondern ein UPDATE machen solltest?

    Da kannst du einfach die Felder je nach DauerauftragUS sperren, bevor du den wieder generell auf false setzt:
    Code:
    maike
     
  6. Einerseits stehst du schon auf dem neuen Datensatz, wo du die Auftragsnummer eingibst, andrerseits fügst du den neuen Datensatz per VBA ein.
    Für eins von beidem musst du dich entscheiden.
    Code:
     
    Anne Berg, 20. November 2013
    #6
  7. Guten Abend,

    also nochmal zum Verständnis:
    Ich lege mit dem Formular (siehe GIF) "Dummys" an. Das sind hier Datensätze, die nur eine ID und eine Banf haben (weil die in einem anderen System vorher schon reserviert wurden und so dem User zur Auswahl stehen). Diese Datensätze haben daher im Kontrollfeld belegt den Wert false.

    Der Normalfall ist, dass sich der User einen Dieser Datensätze anwählt und alle Felder händisch ausfüllt, dann den BestellungAufgeben Button drückt und nun einfach den (bestehenden) Datensatz um die neuen Angaben erweitert (im Code Fall 2).

    Nun gibts es Fall 1: Wenn jmd. einen Dauerauftrag anlegt, werden fest hinterlegte Werte (Banf=0, jeweilige Bestellnummer,etc.) nach Auswahl des jeweiligen Dauerauftrages in Kombobox DauerauftragKF in einen neu generierten Datensatz gelegt. Dazu muss vorher die Umschaltfläche DauerauftragUS betätigt werden, damit die Kombobox überhaupt sichtbar wird. In diesem Fall darf aber natürlich keiner der Dummys überschrieben werden.(Was ja gegenwärtig der Fall ist). Ausserdem soll das Kontrollfeld belegt auf true gesetzt werden, was auch nicht gescheiht, obwohl das in Fall 1 mit dem selben Befehl klappt. Hier nochmal der (debuggte) Code:
    Code:
    Liebe Grüße
    Adversarius
     
    Adversarius, 20. November 2013
    #7
  8. Kombobox auslesen und weitergeben

    Code:
    Fragen:
    • Das Zusammenspiel von Dummy/Banf anlegen und dieser Prozedur ist mir noch unklar.
      Wieso wird da ein Datensatz überschrieben? Insert legt in jedem Fall einen neuen an.
    • Sind die (automatisch oder händisch) zu befüllenden Felder im selben Formular wie der Button BestellungAufgeben? Sonst macht Me.Requery keinen Sinn.
    • Wenn ja, woran kann man den soeben eingefügten Datensatz erkennen? Gibt es eine Autowert-ID, ein Erstelldatum ... Nach dem Requery muss ja der Datensatzzeiger wieder auf diesen DS gesetzt werden.

    maike
     
  9. Vorab: Ich habe weiter oben mal einen Screenshot des betreffenden
    Forms gepostet, hilft wohl für das Verständnis etwas.

    Code:
    Ich weiss nicht, wie ich die Formatierung da jetzt noch anpasse (also vom roten Text, bevor du wieder schimpfst *duckt sich*).

    Bist du heute wieder mit der Forumsnachtschicht dran ? *wink.gif*

    Danke Maike !
    Gruß Adversarius
     
    Adversarius, 20. November 2013
    #9
  10. Forumsnachtschicht, ja, sieht ganz so aus ... , aber um 03:12 war meine Schicht schon 'rum *biggrin.gif* .

    Was ich aus dem Ganzen jetzt so herausinterpretiere ist folgendes:
    Im Formular gibt es einen aktuellen Datensatz mit einer Banf.
    Per Button wird in der Tabelle Bestellbuch ein neuer Datensatz angelegt.
    Der Code enthält dabei im If-Zweig den Befehl Me.Belegt = true. Dieses gilt für den aktuellen Datensatz im Formular.

    Du musst also entweder vorher dafür sorgen, dass der neu angelegte Datensatz der aktuelle ist oder - wenn Belegt ebenfalls ein Feld in Tabelle Bestellbuch ist - das Feld im SQL-Insert gleich mit auf true setzen. Das Requery muss dann a) nach dem Execute kommen (in der aktuellen Version schon so) und b) an der richtigen Stelle erfolgen (Liste = Listenfeld oder Unterformular?)

    Der Screenshot sagt mir nicht viel, da wäre wohl eher wieder ein Beispiel angebracht, damit andere Leute *mrcool sehen können, welche Tabelle(n) und welche Filter da mitmischen. Oder gibt es noch eine 2003er Version?
    maike
     
  11. Hallo Maike,

    also die Datei ist angehängt (arbeite jetzt nur noch in dem Format).

    Also der gewollte Ablauf ist so:
    Form Hauptmenü - Button "Bestellung NEU"
    Form BestellungNEU

    (Hier ein anderes Problem, Bearbeitung ist irgendwie gesperrt, daher der eigentlich überflüssige Button "Freigeben")

    1. Normalfall:
    Im geteilten Formular (wenn du das überhaupt aufgrund der Version sehen kannst) am Rechten Bildrand ist eine Spalte mit allen Datensätzen (deren Banfen werden angezeigt), die "leere Dummy´s" sind, also nur in der Spalte Banf im Bestellbuch (Tabelle) ein Eintrag haben und unter belegt = false haben.(Das wäre bei euch wohl dann normalerweise ein Unterformular, nachdem was ich jetzt über 2003 gestern gelesen habe, da es ja da noch keine geteilten Forms gab).

    Nun würde der User einfach den aktuellen Datensatz (oberste Banf z.B. 10000003), die auch schon angezeigt wird weiter befüllen mit Objekt, Lieferant, Auftragsnummer,etc., dann "anlegen" drücken. (Eigentlich sind die Daten durch das eingeben ja schon im DS, der Button dient jetzt nur dem setzen von belegt true, damit dieser Datensatz aus der Liste verschwindet, im Code des "anlegenbuttons" der Else Teil)

    Fall 2:
    Man drückt erst die Umschaltfläche Dauerauftrag, das Kombo DauerauftragKF erscheint unter TXT-Feld Leistung. Dort wählt man einen Dauerauftrag aus/eine Leistung. Drückt man nun anlegen, so soll der angezeigte DS (z.B. 10000003) der immernoch angezeigt wird, nicht bearbeitet werden, sondern es soll ein völlig neuer DS generiert werden, der dann Banf=0, die feste Bestellnummer aus der Dauerauftragstabelle hat, usw. (entspr. den columns im Code). Ausserdem natürlich belegt=true.(Im Code der If Teil:

    Ich hoffe das ist klarer geworden !?

    LG Adversarius
     
    Adversarius, 21. November 2013
    #11
  12. Jo, das geteilte Formular sehe ich nicht, aber das kriegst du schon selber hin.
    Es ist, wie ich vermutete, der aktuelle Datensatz ist eben nicht der neu angelegte - das war das Hauptproblem.
    Ich habe das ganze mal neu (Prozeduren mit '*****NEU gekennzeichnet, einige andere gelöscht) aufgebaut, ohne INSERT-Befehl.
    Wenn's so recht ist, würde ich dann an deiner Stelle noch alle Controls ausblenden bis auf KFDingsdabumsda und im Ereignis nach Aktualisierung von KF... wieder einblenden. So verwirrt das - mich zumindest - ein bisschen, wenn der alte DS da noch rumhängt.
    maike
     
  13. Kombobox auslesen und weitergeben

    Hallo Maike!

    Erstmal wieder vielen Dank! Ich habe das geteilte Formular durch ein Unterformular ersetzt.

    Hab jetzt auch alles was du erstellt hast nachvollziehen können (wäre da aber so auch nicht von selbst drauf gekommen *wink.gif* )

    Du hast ja eigentlich auch schon alles erschlagen, ALLERDINGS (jha ich weiss, immer ein Aber), hab ich jetzt noch an einigen Sachen zu knabbern:

    Es gibt einige Angaben, die man auch beim Dauerauftrag noch hinzufügen können muss (ist mir leider erst jetzt bewusst geworden):
    Habe das am Beispiel der AuftragsNr ausprobiert, klappt aber einfach
    nicht (hab das alles erstmal als Kommentar deaktiviert).



    Code:
    Und der Aktualisieren Button ist eigentlich ja nur ein Provisorium gewesen, geht das nicht mit einer requery-Anweisung im Anlegen-Button ?

    Und wenn du/jmd. das in einem Satz vll. am Rande sagen kann:
    Habe in der BestInfo in der Eigenschaft den Standardwert "Standardauftrag" gesetzt, da tut sich aber nichts.Muss ich das noch irgendwie aktivieren?

    Danke und liebe Grüße Adversarius
     
    Adversarius, 21. November 2013
    #13
  14. Heute hab' ich keine Nachtschicht *biggrin.gif* , ich guck's mir morgen mal an.
    maike
     
  15. KEIN PROBLEM, will dich ja nicht nötigen *grins Gn8 *wink.gif*
     
    Adversarius, 21. November 2013
    #15
Thema:

Kombobox auslesen und weitergeben

Die Seite wird geladen...
  1. Kombobox auslesen und weitergeben - Similar Threads - Kombobox auslesen weitergeben

  2. Teile aus einem qrcode string auslesen

    in Microsoft Access Hilfe
    Teile aus einem qrcode string auslesen: Hallo zusammen Ich habe da eine für mich knifflige Aufgabe Ich scanne einen SwissQRCode in ein Textfeld. Danach entferne ich alle Umbrüche und Leerzeichen. Das habe ich soweit hinbekommen....
  3. VBA Auslesen von Strings und erstellen neuer Zeilen in einer Tabelle

    in Microsoft Excel Hilfe
    VBA Auslesen von Strings und erstellen neuer Zeilen in einer Tabelle: Guten Tag zusammen In der 1. Spalte stehen KundenIDs (jeweils 2 Buchstaben), separiert mit einem Komma. Beispielsweise: ag,ok,be,li,ce In der 2. bis 15. Spalte stehen dann diverse Eigenschaften,...
  4. aktuelles Alter aus Geburtsdatum auslesen und runde Geburtstage markieren

    in Microsoft Excel Hilfe
    aktuelles Alter aus Geburtsdatum auslesen und runde Geburtstage markieren: Hallo liebes Forum, Ich habe eine Excel-Tabelle mit einer Liste von Namen und Geburtstagen und möchte in einer Zusatzspalte das aktuelle Alter ausweisen und Alter mit 0 oder 5 gelb markieren. Dazu...
  5. Datum einer Datei per VBA auslesen

    in Microsoft Access Hilfe
    Datum einer Datei per VBA auslesen: Hallo, ich möchte mit Access VBA das Änderungsdatum einer Excel-Datei auslesen. Hat vielleicht einer eine Idee oder so etwas schon mal gemacht? Über jede Hilfe wäre ich sehr dankbar. liebe Grüße...
  6. Werte auslesen mit s(w)verweis

    in Microsoft Excel Hilfe
    Werte auslesen mit s(w)verweis: Hallo Leute, ich brauche mal wieder Hilfe, ich steh total auf dem Schlauch. Ich habe zwei Tabellenblätter - Liste - Ergebnis Im Tabellenblatt Ergebnis gebe ich die Namen händisch ein und will...
  7. Kombobox, automatisches Ergänzen

    in Microsoft Access Hilfe
    Kombobox, automatisches Ergänzen: Asche auf mein Haupt, ich will auch niemanden verladen: Ich schaffe es nicht, in eine Kombobox etwas einzugeben, auf dass die Kombobox bis zum ersten passenden Wert vorziehe. Noch schlimmer, ich...
  8. Kombobox Datum von bis

    in Microsoft Access Hilfe
    Kombobox Datum von bis: Hallo, kurz gesagt, ich habe ein Endlos Frm mit 4 Spalten. Im Frm Kopf habe ein Kombifeld und ein Textfeld zur Suche. Jetzt wäre schön ich hatte 2 weitere Kombiboxen mit Kalender zur Auswahl von...
  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