Office: (Office 2010) Mehrwertige Felder: INSERT INTO von Zellinhalten mit recordset2

Helfe beim Thema Mehrwertige Felder: INSERT INTO von Zellinhalten mit recordset2 in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo versierte ACCESS-User und vielleicht Bezwinger der "Mehrwertigen Felder" Ziel der 'Sub': In der Tabelle T2_Ziel werden die Einträge von Tabelle... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von JuMathias, 8. Januar 2016.

  1. Mehrwertige Felder: INSERT INTO von Zellinhalten mit recordset2


    Hallo versierte ACCESS-User und vielleicht Bezwinger der "Mehrwertigen Felder"

    Ziel der 'Sub': In der Tabelle T2_Ziel werden die Einträge von Tabelle T1_Quelle übernommen,
    die bzgl. 'Kompetenzen_value' den Wert 1 haben.

    'Ein erster Ansatz war:

    Set db = CurrentDb()
    Set q = db.QueryDefs("qryStaffingAllToDetail")
    q.Parameters("PARA_PhaseMainNo") = Me.TXT_lfdePhaseMainNo
    q.Execute
    q.Close

    Problem: Bei der Nutzung des Objektes "Anfügeabfrage" kommt von ACCESS die Info,
    'dass dies mit mehrwertigen Feldern nicht funktioniert.
    'Daher wurden zuerst alle Felder ohne den mehrwertigen Feldern per Anfügeabfrage übernommen und die entsprechenden mehrwertigen Feld upgedatet

    Frage bzgl. einer anderen Realisierungsvariante:
    Geht das INSERT INTO (Weg mit reinem SQL), alle Infos auch der mehrwertigen Felder zu übernehmen?
    'Laut ACCESS, zumindest einmal nicht mit meinem Weg, da ACCESS bemerkt:
    '"Eine INSERT INTO Abfrage kann kein mehrwertige Feld beinhalten"
    'Infos im WWW: "Generell sollte man diese mehrwertigen Felder meiden"
    'habt Ihr eine andere Erfahrung gemacht?




    Code:
    Vielleicht habt Ihr bzgl. der Thematik schon einmal getüftelt
    und seid zu einem Ergebnis gekommen?

    Die DB befindet sich im Anhang.
    Euch allen schon einmal ein Dankeschön für eure Recherchen.

    Gruß

    JuMathias

    :)
     
    JuMathias, 8. Januar 2016
    #1
  2. Hallo!

    Eine Variante mit Recordset-Schleifen:

    Code:
    Anm.: Die Rückgabe von .Value beim mehrwertigen Feld in einem Recordset ist wieder ein Recordset.


    Obige Variante in mehrere Prozeduren aufgeteilt und verallgemeinert:
    Code:
    Anm.: Mehrwertige Felder würde ich nur begrenzt einsetzen. ... Eigentlich nur dort wo ein Vorhaben mit einer üblichen n:m-Tabelle nicht umsetzbar ist (wobei mir momentan kein Beispiel dazu einfällt, bei dem ein Vorhaben nur mittels mehrwertigem Feld umsetzbar ist. *wink.gif*).

    mfg
    Josef
     
    Josef P., 10. Januar 2016
    #2
  3. Ein "Hallo" und ein erstes Dankeschön an Josef für die VBA - Zeilen.
    Ich werde die Zeilen erst am späten Abend testen.
    Es scheint doch noch einen anderen Lösungsweg zu geben :O).

    Gruß

    JuMathias
     
    JuMathias, 10. Januar 2016
    #3
  4. Mehrwertige Felder: INSERT INTO von Zellinhalten mit recordset2

    Hallo Josef,

    aus Performance-Gründen (die Anforderung kommt nicht von mir)
    wird deine Lösung die "Option 2" werden.
    Realisierung: Spätestens am Wochenende.

    Bis heute Abend soll eine andere Implementierung ("Option 1") vorgezogen werden, die eventuell schneller läuft.

    D.h.: Das Thema wird noch nicht geschlossen!


    Gruß

    Jürgen
     
    JuMathias, 12. Januar 2016
    #4
  5. Hallo!

    Bitte zeig uns die "Option 1"-Implementierung. Es würde mich interessieren, über welche Variante das Einfügen inkl. mehrwertiger Felder am besten realisierbar ist.

    Mein Vorschlag für "Option 1":
    Auf mehrwertige Felder verzichten und diese mittels eigener n:m-Tabelle abbilden und dann einfach 2 Insert-Anweisungen durchführen. *wink.gif*

    Anm.:
    Falls viele Recordset eingefügt werden sollen, könntest du bei der Recordset-Variante das Einfügen vermutlich mit Transaktionen (Commit nach n Datensätzen) beschleunigen.

    mfg
    Josef
     
    Josef P., 12. Januar 2016
    #5
  6. Hallo Josef,

    Alle beide Lösungen sollten bis Sonntag/Montag von mir hochgeladen sein.
    Man (nicht ich) will inzwischen das Updaten direkt auf der Tabelle "T1_Quelle".
    Dazu mehr, wenn du die Lösungen siehst.

    Diese Info habe ich auch auf drei Pages im www gefunden.
    Wie gesagt: Ich habe da mit der DB etwas geerbt und es wird immer beknackter.


    Anm.:
    Falls viele Recordset eingefügt werden sollen, könntest du bei der Recordset-Variante das Einfügen vermutlich mit Transaktionen (Commit nach n Datensätzen) beschleunigen.

    Gruß

    JuMathias
     
    JuMathias, 12. Januar 2016
    #6
  7. Hallo Josef, ein hallo auch an alle weitere Forenleserinnen und Leser,

    das Problem liegt vom Prinzip im Handling des mehrwertigen Feldes.
    Auch wenn jetzt gleich eine Unmenge an Antworten kommt wie
    "lass die Finger weg von den mehrwertigen Feldern" beschreibe ich kurz die Probleme:

    (1) Setze ich in der Liste mehrere mögliche Hakenoptionen,
    dann ist nach Aktualisierung, z.B. nach einem neuen Anzeigen der Daten,
    ein vielfaches an Datensätzen zu sehen
    (2) Teilweise kann ich Datensätze nicht löschen.

    Andererseits habe ich aber (leider) schon 2014 solche implementierte Features gesehen, die funktionierten.

    Vielleicht kennt dann doch die eine oder de andere die Crux an der Implementierung.
    Ich werde wohl die DB bis 20 Uhr 'mal hochladen, für Interessierte.

    Gruß

    JuMathias
     
    JuMathias, 12. Januar 2016
    #7
  8. Mehrwertige Felder: INSERT INTO von Zellinhalten mit recordset2

    Hallo Zusammen,

    ich habe 'mal kurz die Schritte zusamengeschrieben,
    dass Ihr auch einmal testen könnt (DB im Anhang).

    Das ist die "Option 1" (unecht), wie von Josef angefordert.
    Unecht: Da das mehrwertige Feld nicht mitkopiert wird.
    Es werden alle Daten des aktuellen Datensatzes ausgelesen (ohne dem speziellen Feld) und es erfolgt ein INSERT INTO an das Tabellenende.
    Dieses mehrwertige Feld muss der Anwender selbst pflegen.

    Die Test-Aktion dauert keine fünf Minuten.
    Die Ergebnisse sind sehenswert!



    Vorgehen/Systemverhalten bei der DB im Anhang:

    (1) Staff member auswählen
    (2) Button: "Add first staff for member"
    (3) Button "Copy" >> 2 Datensätze
    (4.1) - Bei jedem Datensatz eine Kompetenzart auswählen
    - Daten von anderem Mitarbeiter anzeigen lassen
    - Den member mit den zwei Datensätzen wählen

    (4.2) - Bei jedem Datensatz nun zwei Kompetenzarten auswählen
    - Daten von anderem Mitarbeiter anzeigen lassen
    - Den member mit den zwei Datensätzen wählen >>> es gibt nun mehrere Datensäte

    Jeweils n Stück für n angehakte KOmpetenzen


    Nicht nur ich habe dieses Feature (leider) auch schon implementiert gesehen.
    Und es funktionierte.

    Es kann ja nur (?) eine Einstellung auf Tabellen- oder Formularebene sein ?!
    Was denkt Ihr?

    Gruß JuMathias



    (Anmerkung: Die Bezeichnung des Themas ist nicht mehr aktuell.
    Zu Beginn der Datenaktualisierung wurden aus einer Tabelle Daten in eine Zwischentabelle extrahiert, bearbeitet und wieder zurückgeschrieben.
    Mit der neuen Implementierung erspart man sich den Schwischenschritt.
    Dabei ist aufgefallen, dass das Problem des mehrwertigen Feldes schon bei dessen Aktualisierun - Auswahl mehrer Optionen- auftritt)
     
    JuMathias, 12. Januar 2016
    #8
  9. Hallo Zusammen,

    ich werde bis gegen 23:15 Uhr noch einmal eine neue Version hochladen.
    Die bisherige Version ist nur dafür gedacht, die Probleme aufzuzeigen.
    Es erfolgen zur Zeit VBA-Aktualisierungen.

    Gruß

    JuMathias
     
    JuMathias, 12. Januar 2016
    #9
  10. Hallo Zusammen,

    die Beschreibung zum Testen bleibt (DB im Anhang).

    Das ist die "Option 1" (unecht), wie von Josef angefordert.
    Unecht deshalb: Da das mehrwertige Feld nicht mitkopiert wird.

    Es werden alle Daten des aktuellen Datensatzes ausgelesen (ohne dem speziellen Feld) und es erfolgt ein INSERT INTO an das Tabellenende.
    Dieses mehrwertige Feld muss der Anwender selbst pflegen.

    Die Test-Aktion dauert keine fünf Minuten.
    Die Ergebnisse sind sehenswert!



    Vorgehen/Systemverhalten bei der DB im Anhang:

    (1) Staff member auswählen
    (2) Button: "Add first staff for member"
    (3) Button "Copy" >> 2 Datensätze
    (4.1) - Bei jedem Datensatz eine Kompetenzart auswählen
    - Daten von anderem Mitarbeiter anzeigen lassen
    - Den member mit den zwei Datensätzen wählen

    (4.2) - Bei jedem Datensatz nun zwei Kompetenzarten auswählen
    - Daten von anderem Mitarbeiter anzeigen lassen
    - Den member mit den zwei Datensätzen wählen >>> es gibt nun mehrere Datensätze

    Jeweils n Stück für n angehakte KOmpetenzen


    Nicht nur ich habe dieses Feature (leider) auch schon implementiert gesehen.
    Und es funktionierte.

    Es kann ja nur (?) eine Einstellung auf Tabellen- oder Formularebene sein ?! Überprüfungen habe ich voorgenommen und Eigenschaften geändert, nutzte aber leider nix!
    Was denkt Ihr?

    Gruß JuMathias



    (Anmerkung: Die Bezeichnung des Themas ist nicht mehr aktuell.
    Zu Beginn der Implementierung - also erster Eintrag - wurden aus einer Tabelle Daten in eine Zwischentabelle extrahiert, bearbeitet und wieder zurückgeschrieben.
    Mit der neuen Implementierung erspart man sich den Schwischenschritt.
    Dabei ist aufgefallen, dass das Problem des mehrwertigen Feldes schon bei dessen Aktualisierun - Auswahl mehrer Optionen- auftritt)
     
    JuMathias, 12. Januar 2016
    #10
  11. Hallo!

    [OT, aber ich kann es mir nicht verkneifen *wink.gif*)

    später
    .. und das manuelle Einpflegen läuft schneller als eine VBA-Schleife?
    Diese Datenpfleger müssen ziemlich flink mit der Maus und Tastatur sein. *wink.gif*

    Die Beispiel-Db sehe ich mir heute Abend an.

    mfg
    Josef
     
    Josef P., 12. Januar 2016
    #11
  12. Hallo!

    Ursache: in SQL wird die n:m-Tabelle des mehrwert-Feldes angesprochen.
    Code:
    Wenn du tblStaffingAll.Kompetenzen.Value entfernst siehst du nur die Datensätze der Tabelle tblStaffingAll.

    mfg
    Josef
     
    Josef P., 13. Januar 2016
    #12
Thema:

Mehrwertige Felder: INSERT INTO von Zellinhalten mit recordset2

Die Seite wird geladen...
  1. Mehrwertige Felder: INSERT INTO von Zellinhalten mit recordset2 - Similar Threads - Mehrwertige Felder INSERT

  2. Keine Feldaktualisierung über Abschnittsumbrüche hinaus

    in Microsoft Word Hilfe
    Keine Feldaktualisierung über Abschnittsumbrüche hinaus: Hallo und guten Tag! Ich habe ein Dokument erstellt, dass drei Abschnittumbrüche enthält, die NICHT miteinander verbunden sind. Beide Abschnitte enthalten je eine Fußzeile. Im ersten...
  3. Felder: Hochgestellter Text bleibt nicht erhalten

    in Microsoft Word Hilfe
    Felder: Hochgestellter Text bleibt nicht erhalten: Hallo, ich bin am verzweifeln. Ich habe folgendes Problem: Der Wert einer Textmarke wird über ein IF-Feld definiert. Der Wert der Textmarke soll in einem REF-Feld dargestellt werden. Das klappt...
  4. Feld in Abhängigkeit eines Dropdowns

    in Microsoft Word Hilfe
    Feld in Abhängigkeit eines Dropdowns: Hallo, ich benötige in Word ein Dropdown und ein weiteres Feld, das sich abhängig vom ausgewählten Wert des Dropdowns befüllt. Beispiel: Die Werte des Dropdowns sind "Feuerwehr", "Sonne", "Gras"...
  5. Intelligente Tabelle mit mehreren Überschrift-Feldern

    in Microsoft Excel Hilfe
    Intelligente Tabelle mit mehreren Überschrift-Feldern: Hallo, ich erstelle gerade eine Kleiderliste, in der verschiedene Kleidungsstücke festgehalten werden , sowie Informationen darüber welche Größe die Mitarbeiter benötigen, bzw. welche Menge sie...
  6. Abfrage in Excel importieren - Werte von mehrwertigen Feldern als Text anzeigen

    in Microsoft Access Hilfe
    Abfrage in Excel importieren - Werte von mehrwertigen Feldern als Text anzeigen: Hallo Ihr Lieben, ich habe verschiedene Felder als mehrwertiges Feld definiert und z.B zusätzliche Tabellen erstellen, aus welchen ich Daten für das mehrwertige Feld ziehe. Nun möchte ich eine...
  7. Verwenden von Nachschlage-und mehrwertigen Feldern in Abfragen

    in Microsoft Access Tutorials
    Verwenden von Nachschlage-und mehrwertigen Feldern in Abfragen: Verwenden von Nachschlage-und mehrwertigen Feldern in Abfragen Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007...
  8. Erstellen oder Löschen eines mehrwertigen Felds

    in Microsoft Access Tutorials
    Erstellen oder Löschen eines mehrwertigen Felds: Erstellen oder Löschen eines mehrwertigen Felds Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr......
  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