Office: (Office 2003) Anfüge abfrage

Helfe beim Thema Anfüge abfrage in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Ich würde erstmal mit Abfragen weitermachen, die du erstmal per Hand anstößt. Wenn das läuft - und erst dann - kannst du wagen, das ín Code zu gießen.... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von MarkderNoob, 18. Januar 2011.

  1. Anfüge abfrage


    Ich würde erstmal mit Abfragen weitermachen, die du erstmal per Hand anstößt. Wenn das läuft - und erst dann - kannst du wagen, das ín Code zu gießen.

    Das, was du bisher mit den Kunden gemacht hast, passiert jetzt analog mit den verträgen. Welche gibt schon, welche sind neu, und die dann anfügen.
     
    Atrus2711, 9. Februar 2011
    #46
  2. Frage : In der Abfrage um die Projektdaten zu isolieren:

    Müssen hier Daten, die aus anderen Tabellen über Schlüssel ermittelt werden mit ausgewählt werden?

    Bsp. Kundendaten??


    Kurz zum Aufbau der DB

    tblProjekte (Kunden ID, VB ID, Segment ID, Status ID, Projektdetails)
    tblKunden, tblVertriebsbereich, tblSegment, tblStatus,..
     
    MarkderNoob, 9. Februar 2011
    #47
  3. Gings nicht eben noch um Kunden und Verträge? Wo kommen die Projekte jetzt her?
     
    Atrus2711, 9. Februar 2011
    #48
  4. Anfüge abfrage

    Die Verträge laufen unter dem Namen Projekte da es sich um individualverträge handelt..

    Also wie oben beschrieben zusammengesetzt..
     
    MarkderNoob, 9. Februar 2011
    #49
  5. Hi,

    wenn du Daten importierst, solltest du dir bei jeder Spalte Gedanken machen, in welcher Tabelle der Zieldatenbank diese Information wiedergefunden werden könnte.
    • Kundendaten in der Kundentabelle, anhand Nr und Name.
    • Vertragsdaten (Laufzeitbeginn, Tarifwahl etc) in den Verträgen, dabei kommen nur die Verträge des jeweiligen Kunden infrage.

    Genaueres lässt sich erst dagen, wenn du mal eine abgespeckte und anonymisierte Datenbank mit ein paar Demosätzen hochlädst. Ich werde das sicher nicht komplett freihändig nachbauen.
     
    Atrus2711, 9. Februar 2011
    #50
  6. Hier eine abgespeckte Version..

    Tabellen Vertriebsbereich und Salesmanager sind vordefiniert..
     
    MarkderNoob, 9. Februar 2011
    #51
  7. - Der Schlüssel in einer Collection muss eindeutig sein, bei der Zweit-Zuweisung eines vorhandenen Wertes gibt es also einen Fehler.
    - Die Collection wird laut obigem Vorschlag aus einer Mastertabelle gefüllt, wo man natürlich auch von einer Eindeutigkeit ausgehen muss. Hier allerdings nicht vom Primary Key der Tabelle (der wird ja über die Collection ermittelt, um ihn in einer weiteren Tabelle als Foreign Key verwenden zu können), sondern über wesentliche Werte in der Tabelle.
    Wesentlicher Wert: In den obigen Tabellen genügte dazu ein Feld, bei dieser Tabelle sind das dann zwei Felder (Kundenname, KdNr). Also müssen diese beiden Felder verkettet als Key für die Collection eingetragen werden, also etwa
    Code:
    Beim Auslesen muss man umgedreht darauf achten, dass der Key aus mehreren Feldern zusammengesetzt ist.

    Hinweis zur (bereits geklärten) Problematik der Duplikate in der Mastertabelle:
    - Ein eindeutiger Index, bei mehreren Feldern in Kombination ein eindeutiger zusammengesetzter Index, verhindern zuverlässig Duplikate.
    - Eine Inkonsistenzprüfung innerhalb der Anfügeabfrage, wie sie eingangs verwendet wurde, macht das auf die "weiche" Art. Sie erzeugt keine Schlüsselverletzungen und begrenzt "bewegte" Datenmenge.
    Eine Inkonsistenzprüfung gleicht aber jeweils einen Quelldatensatz mit der Zieltabelle ab, ob dieser dort vorhanden ist. Sie erfasst nicht, ob in der Quelltabelle selber Duplikate vorhanden sind. Diese würden in Summe übertragen, weil sie in der Zieltabelle nicht vorhanden sind.
    Hier wird dann zusätzlich ein Ausschluss von Duplikaten in der Quelltabelle erforderlich, bspw. über eine passende Gruppierung, in einfacheren Fällen genügt ein DISTINCT.
     
  8. Anfüge abfrage

    Hi,

    hier ergänzt. Führe die Abfragen in Reihenfolge der Numerierung aus.

    Die Projektnummer hat überigens in den Tabellen Import und Projekte unterschiedlichen Datentyp. Ich habe mir erlaubt, das anzupassen.
     
    Atrus2711, 9. Februar 2011
    #53
  9. Würde folgende Vorgehensweise funktionieren:

    1. Kunden aus der Importtabelle gruppiert abfragen
    2. Neue Kunden anfügen
    3. Die von dir vorgeschlagene FindFirst mit Edit/Add New Funktion
    4. FillCollection für Customer (an Hand der Ursprungsstruktur)

    Code:
    ???
     
    MarkderNoob, 9. Februar 2011
    #54
  10. 1 + 2 ... ja: Wäre bei mir eine Abfrage (ein Vorgang)
    3 ... ja, allerdings helfen dann Tabellenfelder im Recordset nicht mehr weiter:
    Code:
    Das (hier) dritte Feld müsste dann ebenfalls aus verknüpften Feldern bestehen (erzeugen in einer Abfrage), da sonst der (zusammengesetzte) Schlüssel nicht auffindbar ist.
    4 ... funktioniert so nicht. Die Collection erhält zwei Werte (Key und Item). Bitte auch in der VBA-Hilfe ausführlich nachlesen - verstehend anwenden ist besser als Try&Error.
    Etwa so sollte es beim Erzeugen der Collection aussehen:
    Code:
    War mein Beispiel so unverständlich?

    Chr(124) = senkrechte Linie ... ist ein (beliebig zu wählendes) Trennzeichen, um die Feldwerte sauber voneinander abgrenzen zu können und eine Eindeutigkeit beizubehalten. Bei manchen Verkettungen könnte es sonst problematisch werden:
    Code:
    Außerdem könnte es evtl. notwendig werden, verkettete Ausdrücke wieder trennen zu müssen. Da weiß man ein schönes Trennzeichen zu schätzen.
     
  11. Hi,

    hat #53 nicht funktioniert?
     
    Atrus2711, 10. Februar 2011
    #56
  12. # 53 funktioniert zwar aber: Beim ersten Ausführend er Anfügeabfrage übernimmt er alle Datensätze. Beim zweiten mal, hängt er die Kunden dran, die noch keine KdNr besitzen)

    Projekte übernimmt er leider auch ohne zu bemerken dass diese schon vorhanden sind

    hmmm
     
    MarkderNoob, 10. Februar 2011
    #57
  13. Anfüge abfrage

    Zu #55

    Code:
    Könnte ich so ein verknüpftes Feld generieren?
    SELECT Import.[Customer Name] AND Import.[Customer No] AS CKey
     
    MarkderNoob, 10. Februar 2011
    #58
  14. Was ist denn ein neuer Kunde? Einer, dessen name noch nicht vorkommt, dessen Nummer noch nicht vorkommt, oder einer, wo bedies noch nicht vorkommt?

    Die Abfragen versuchen, die neuen Elemente zu ermitteln, indem sie "alle X, die nicht in Y sind" bilden. Das "nicht drin sein" wird durch Leftjoins und Bedingngen erreicht. Die kannst du anpassen.

    Meine DB diente zur Veranschaulichung, d.h. zum Erkennen und Verstehen. Sie diente nicht unebdingt dazu, dir diese Arbeit abzunehmen.
     
    Atrus2711, 10. Februar 2011
    #59
  15. Ja.

    Aber im konkreten Fall sollte man zusätzlich beachten,
    - dass man genau so verknüpft wie beim Füllen der Connection (wenn man den Wert wiederfinden will)
    - dass die Abfrage noch mehr Felder enthalten müsste, da noch mehr Schlüssel ermittelt und Felder in der Zieltabelle ergänzt/aktualisiert werden sollen,
    - dass die Reihenfolge passt (wenn man die Feldauflistung per Index verwendet) oder die Feldnamen passen (wenn man die Feldauflistung per Name verwendet).
     
Thema:

Anfüge abfrage

Die Seite wird geladen...
  1. Anfüge abfrage - Similar Threads - Anfüge abfrage

  2. Beim Import von Exceldatei Spalte hinzufügen und füllen

    in Microsoft Access Hilfe
    Beim Import von Exceldatei Spalte hinzufügen und füllen: Guten Morgen, ich bin noch recht neu in der Materie. Ich habe mehrere Dateien gleicher Struktur, die automatisiert importiert werden. Um diese später mit einer UNION-Abfrage weiter zu bearbeiten...
  3. Kann keine Attachments anfügen

    in Microsoft Outlook Hilfe
    Kann keine Attachments anfügen: Wenn ich in einer Mail eine Datei anhängen will, bekomme ich die Meldung "Array Index außerhalb des gültigen Bereichs".
  4. Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen

    in Microsoft Access Hilfe
    Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen: Hallo, ich habe per Google und Foren SuFu leider nichts passendes finden können, wage aber zu bezweifeln, dass Access da an seine Grenzen kommt, da es eigentlich recht banal ist. Ich habe eine...
  5. Anfügen von Abfragen (Power Query)

    in Microsoft Excel Tutorials
    Anfügen von Abfragen (Power Query): Anfügen von Abfragen (Power Query) Excel für Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Mehr... Weniger...
  6. Komplizierte Anfüge Abfrage

    in Microsoft Access Hilfe
    Komplizierte Anfüge Abfrage: Hallo, ich habe ein problem bei dem ich einfach keine Lösung finde. Ich hoffe ihr könnt mir helfen. *Smilie Ich habe eine beispiel DB angehangen, an der ich mein Problem schildere!...
  7. Anfügen einer vCard an eine E-Mail-Nachricht

    in Microsoft Outlook Tutorials
    Anfügen einer vCard an eine E-Mail-Nachricht: Anfügen einer vCard an eine E-Mail-Nachricht Outlook für Microsoft 365 Outlook 2019 Outlook 2016 Outlook 2013 Mehr... Weniger...
  8. Anfügen-Abfrage an Zieltabelle mit Passwortschutz

    in Microsoft Access Hilfe
    Anfügen-Abfrage an Zieltabelle mit Passwortschutz: Hallo zusammen, ich möchte Datensätze in einer DB (Frontend) eingeben und per Anfügen-Abfrage an eine Tabelle einer Passwortgeschützten Backend DB übergeben. Wie kann ich das Passwort beim...
  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