Office: (Office 2010) me.recordset für Unterformulare

Helfe beim Thema me.recordset für Unterformulare in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, folgendes Problem: ich habe ein Formular mit Auftragskopf und ein Unterformular mit Auftragspositionen (z.B. 10 anzeigbare Auftragspositionen)... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von knackfloh, 31. Juli 2012.

  1. me.recordset für Unterformulare


    Hallo,

    folgendes Problem: ich habe ein Formular mit Auftragskopf und ein Unterformular mit Auftragspositionen (z.B. 10 anzeigbare Auftragspositionen)

    Ich möchte nun die vom Anwender eingegebenen Daten an ein Unterprogramm übergeben.

    Beim Formularkopf klappt das ganz gut:
    Mit call up(me.recordset) und me.recordset als Parameter übergibt Access die eingegebenen Kopfdaten an das Unterprogramm.

    Bei den Auftragspositionen klappt das nicht. Dort wird mit me.recordset nicht die gerade vom Anwender bearbeitete Auftragsposition (z.B. die 6.) übergeben, sondern die erste Auftragsposition des Unterformulars.

    Wie kann ich erreichen, dass die 6. Auftragsposition übergeben wird?
    Kann ich me.recordset irgenwie indizieren? ( me.recordset(i) funktioniert nicht *Smilie )

    Im Moment mache ich halt eine umständliche Lösung, dass ich alle eingegebenen Auftragspositionsdaten in eine Zwischenstruktur schaufele und diese übergebe.

    Zeitpunkt des Aufrufs des Unterprogramms: BEFORE UPDATE des Unterformulars.

    Weiss jemand eine Lösung ?

    Gruß
    knackfloh

    :)
     
    knackfloh, 31. Juli 2012
    #1
  2. Ich halte schon die Herangehensweise, me.recordset zu übergeben, für fragwürdig. Eigentlich sollte doch die ID des aktuellen Datensatzes aus den Aufträgen dies leisten ... nun gut ...

    Der Bezug auf 'Me' liefert immer das HF. Das UF kannst Du ansprechen über Code:
    Ich gehe mal davon aus, dass das UF ein Endlosformular ist? Das macht die Sache schwierig, da vom HF aus gesehen, nicht zu bewerten ist, welcher Satz im UF gerade den Fokus hat.
    Ein Trick ist, über den Detailbereich im UF einen transparenten Button zu legen und der kann dann in der 'Beim Klicken' Ereignisprozedur so reagieren, wie Du es brauchst.
     
    hcscherzer, 2. August 2012
    #2
  3. Hallo,
    du kannst das Recordset über den aktuellen Datensatz filtern (z.B. über die ID) und das gefilterte Recordset einem 2. übergeben.
    Dann kannst du aber eigentlich auch gleich wie vorgeschlagen die ID übergeben *wink.gif*.

    Code im UForm Code:
     
    Steffen0815, 2. August 2012
    #3
  4. me.recordset für Unterformulare

    Danke für die Antworten.
    Ich habe die Lösung von Steffen etwas angepasst. Ich benutze ADO.
    Code:
    Hans-Christian:
    Normalerweise ja, aber ich habe leider euch mein Beispiel nicht vollständig dargestellt. Das UP soll abhängig von dem übergebenen Satz agieren. Also wenn Auftragskopfsatz übergeben wird Aktion 1 ausführen, wenn Verkaufspositionssatz übergeben wird Aktion 2 ausführen. Wenn ich die ID (= Primarykey, wenn ich Eure Antworten richtig verstanden habe) nehme, ist die Anzahl der Felder, die den Primarykey ausmachen ja unterschiedlich.

    Und ja, es ist ein Endlosformular.

    Steffens Vorschlag funktioniert für meine Zwecke ganz gut. Danke. *Smilie

    Was ich aber immer noch nicht verstehe: Ich befinde mich im Unterformular. Im Ereignis BEFOREUPDATE.
    Mit me!auftragspos bekomme ich die RICHTIGE Auftragsposition, die der Anwender gerade bearbeitet.
    Warum bekomme ich aber mit me.recordset den ersten Satz im Unterformular?

    Gruß
    Wolfgang
     
    knackfloh, 3. August 2012
    #4
  5. Hallo Wolfgang,
    so wie ich das verstehe, wird eine Kopie des Recordsets erstellt. Dabei befindet sich dann der Recordzeiger auf dem ersten Datensatz.

    CU
     
    Thomas Möller, 3. August 2012
    #5
  6. Thomas: Ok, damit ist mir das auch verständlich. Danke.
     
    knackfloh, 3. August 2012
    #6
  7. Hallo,

    wozu setzt du zwei Recordsets ein in dem oben gezeigten Code? Eins sollte genügen.

    Und wenn es mit Me.Recordset nicht klappt, dann vielleicht mit Me.RecordsetClone?
    nun, du übergibst doch jetzt auch schon zwei Parameter, ähnlich sollte sich das auch mit Übergabe der ID lösen lassen.
     
    Anne Berg, 4. August 2012
    #7
Thema:

me.recordset für Unterformulare

Die Seite wird geladen...
  1. me.recordset für Unterformulare - Similar Threads - recordset Unterformulare

  2. Apostroph in sql Recordset

    in Microsoft Access Hilfe
    Apostroph in sql Recordset: Hallo Gemeinde, einen hätte ich noch: sqlTitel = "SELECT * FROM tbl_Files_Edited WHERE Titel='" & strTitel & "'" Set rs1 = db.OpenRecordset(sqlTitel) Enthält strTitel einen...
  3. Recordset auf einmal nicht mehr aktualisierbar

    in Microsoft Access Hilfe
    Recordset auf einmal nicht mehr aktualisierbar: Hallo, ich bin bei der Weiterentwicklung einer seit Jahren funktionierenden Prozedur, bei der u.a. per SQL Datensätze nach einem bestimmten Feld sortiert aus einer Tabelle in ein Recordset...
  4. Recordset

    in Microsoft Excel Hilfe
    Recordset: Hallo Zusammen, ich möchte gern aus einer Excel-Tabelle Werte über ein Recordset in eine Access Tabelle einlesen. In der Anlage die vereinfachte Struktur der Daten. Im Bsp 1 werden die Daten...
  5. Recordset wird nicht erfasst

    in Microsoft Access Hilfe
    Recordset wird nicht erfasst: Liebe Access-Profis, wieder bin ich am Ende der Weisheit; dieses Mal geht es um einen VBA-Code, der einen Recordset nicht identifiziert. Das Vorhaben: Im Formular 'Aktuelles Schuljahr' steht in...
  6. Recordset-Feldname mit Variable verbinden

    in Microsoft Access Hilfe
    Recordset-Feldname mit Variable verbinden: Hallo, hat jemand einen Tipp für mich, wie ich einen Recordset-Feldnamen mit einer Variablen kombinieren kann. Ein Pivot-Recordset stellt mir Feldnamen zur Verfügung, die etwa so aussehen:...
  7. Recordset Listenfeld füllen

    in Microsoft Access Hilfe
    Recordset Listenfeld füllen: Hallo *Smilie Ich möchte gern mein Listenfeld füllen.. ______________ 1) Bei dieser Methode kommt es (willkürlich) zu einem Absturz: Set Forms("Freigabetool").Controls(liste0).Recordset = rs...
  8. Unterformular dynamisch durch ein Recordset von VBA befüllen

    in Microsoft Access Hilfe
    Unterformular dynamisch durch ein Recordset von VBA befüllen: Hallöchen =) Der Titel sagt eigentlich schon alle. also was will ich machen, und was habe ich bereits: Ist - Zustand Im moment habe ich eine recht komplexe SQL abfrage die ich zu einem Ocacle -...
  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