Office: (Office 2016) Fragen beim Aufbau einer Datenbank

Helfe beim Thema Fragen beim Aufbau einer Datenbank in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Moin, Ich habe in meiner DB eine Verknüpfung auf eine externe Excel-Tabelle. Diese Tabelle möchte ich komplett in eine Abfrage übernehmen, zusätzlich... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Pf@nne, 8. April 2019.

  1. Fragen beim Aufbau einer Datenbank


    Moin,

    Ich habe in meiner DB eine Verknüpfung auf eine externe Excel-Tabelle.
    Diese Tabelle möchte ich komplett in eine Abfrage übernehmen, zusätzlich soll die Abfrage noch weitere Felder erhalten. Die zusätzlichen Felder werden aus Feldern der Abfrage generiert.
    Das füllen der Zusätzlichen Felder möchte ich in VBA erledigen.
    Ich möchte nicht jedes zusätzliche Feld über eine "public function" füllen sondern alles in einem Rutsch in VBA durchführen.

    Meine Frage:
    Wie komme ich in VBA an das Ereignis welches beim aktualisieren der Abfrage ausgeführt wird.
    Ist dieses Vorgehen so standesgemäß bzw. wie würde man das Normalerweise machen?

    Danke für eure Unterstützung!

    MfG
    Pf@nne

    :)
     
    Pf@nne, 8. April 2019
    #1
  2. Moin,
    kannst du mal ein etwas konkreteres Beispiel für eine solche Berechnung zeigen?
    maike
     
    maikek, 10. April 2019
    #2
  3. Tabelle: tab_extData -> externe Verknüpfung
    Abfrage: abfr_Data -> alle Felder aus tab_extData + berechnete Felder


    PHP:
             tab_extData!strField -> String "111-222-333"
     
    Pf@nne, 10. April 2019
    #3
  4. Fragen beim Aufbau einer Datenbank

    Wie man am Code schon sehen kann, ist das im Grunde nicht VBA sondern SQL.
    Ein dynamisches Zusammenstellen würde sich nur lohnen, wenn sich die Bedinungen ständig ändern, andere Felder, andere Berechnungen ...

    In Access kannst du diverse Funktionen in SQL direkt verwenden, für das gezeigte Beispiel etwa die left/right/mid() Anweisungen. Oder eben eine Public Function.

    Grundsätzlich wäre vielleicht auch zu überlegen - je nachdem für was das Ergebnis nachher benötigt wird - die verknüpften Daten vorher in eine sauber normalisierte Datenbanktabelle zu importieren und dabei die entsprechenden Formatierungen und Berechnungen zu machen.

    maike
     
    maikek, 10. April 2019
    #4
  5. Hallo,

    ja, das kannst du wohl... z.B.
    Die SplitString Function wäre für dich ev. Hilfreich.
    Code:
    Dann kannst das auch in einem Rutsch in SQL (Abfrage) ausführen.
    Ist wesentlich schneller als VBA
    In der SQL z.B.
    Code:
     
    Kyron9000, 10. April 2019
    #5
  6. Ich habe mich entschlossen die benötigten Felder der Abfrage fest hinzuzufügen und leer zu lassen. Jetzt möchte ich die leeren Abfragefelder per VBA füllen.


    PHP:
             Private Sub bu_do_abfr_SAP_Click()
    Dim db As DAO.Database
    Dim rs 
    As DAO.Recordset

    Set db 
    CurrentDb
    Set rs 
    db.OpenRecordset("Select * from abfr_SAP"dbOpenSnapshot)
    If 
    rs.EOF Then Exit Sub

    With rs
    Do Until .EOF
    .Edit
    MsgBox 
    ![Techn# Platz]
    .MoveNext
    Loop
    End With
    rs
    .Close
    db
    .Close
    Set rs 
    Nothing
    Set db 
    Nothing
    End Sub
     
    Pf@nne, 10. April 2019
    #6
  7. Hallo,
    Da könnten auch 3 Datensätze in einer extra Tabelle notwendig sein, statt 3 Felder.
    Die Struktur einer Datenbank sollte daher zunächst mal vollständig angelegt werden, mit allen notwendigen Tabellen, den Feldern und den Beziehungen.
    Dann werden mit Anfügeabfragen die Daten in die normalisierte Datenstruktur übertragen.

    Dabei muss auch beachtet werden, dass erst die 1-Tabellen gefüllt werden und dann die n-Tabellen.

    Zur Datenübertragung wirst Du kein VBA brauchen, das geht alles über Abfragen (SQL). Möglicherweise müssen Abfragen über VBA zusammengebaut werden und/oder per VBA ausgeführt.

    Kennst Du überhaupt die Begrifflichkeiten ?
    Eine "public function" ist VBA. Und eine Abfrage ist SQL und SQL ist meist schneller als VBA.
     
    gpswanderer, 10. April 2019
    #7
  8. Fragen beim Aufbau einer Datenbank

    Nein, nicht wirklich......
    Ich habe nur ein grobes Wissen was den Aufbau von Datenbanken angeht-
    Daher die Unsicherheit wie man hier am besten vorgeht.
    Ich glaube am einfachsten ist es, wenn ich mal meinen konkreten Anwendungsfall schildere, da mir nicht mal der grobe Weg klar ist.


    Was habe ich für Grunddaten:
    1. SAP.xls - Excel-Tabelle mit Grunddaten die sich ständig ändern können (SAP-Export)
    2. Daten.xls - Excel-Tabelle mit erweitertem Datenumfang, diese Daten können sich auch ständig Ändern.
    Für jeden Datensatz in Daten.xls gibt es einen zugehörigen Datensatz [Inventarnummer] in SAP.xls [Inventarnummer].

    Zu erstellende Tabellen in Access:
    1. tab_SAP - Hier wollte ich eine externe Verknüpfung auf SAP.xls einrichten. Wird diese Verknüpfung automatisch aktualisiert?
    2. tab_Daten - Hier wollte ich eine externe Verknüpfung auf Daten.xls einrichten.
    3. ??_ZusammengefassteDaten - diese Abfrage/Tabelle soll die Zusammenfassung der beiden Tabellen tab_SAP und tab_Daten enthalten.

    In tab_SAP gibt es Felder die lange Strings in der Form "111-22-3333-44" enthalten. Die einzelnen Segmente sollen eigene Felder in??_ZusammengefassteDaten erhalten. Zusätzlich sind noch weitere Felder notwendig. Die Zusätzlichen Felder enthalten Daten die aus Informationen der einzelnen Segment bestehen.

    Beispiel Segment "3333" ist dies 4 Zeichen lang, dann soll [Zusatzfeld_1] = "Info1" enthalten. Ist das erste Zeichen eine "3" dann soll [Zusatzfeld_2] = "Info2" sein, ist das erste Zeichen eine "5" dann soll [Zusatzfeld_2] = "Info3" sein.
    So in diesem Sinne.......

    Ziel soll eine vollständige Zusammenführung der Datensätze aus SAP.xls und Daten.xls sein, ergänzt um die Felder die aus der Auswertung der Einzelsegment entstehen. Art und Umfang der Zusatzinformationen steht fest und ist immer gleich.

    Ich hoffe mein Ansinnen verständlich formuliert zu haben.

    Vielen Dank für eure Unterstützung!

    Gruß
    Pf@nne

    EDIT:
    Es geht schon beim Anlegen der Verknüpfungen los, wie kann ich eine Verknüpfung auf eine Datei legen, die im selben Verzeichnis liegt.
    Access will hier im den absoluten Pfad haben. Dann kann ich das Datenbankverzeichnis nicht mehr freizügig hin und her kopieren.
     
    Pf@nne, 10. April 2019
    #8
  9. Was willst du denn hinterher mit den erzeugten Daten anfangen? Soll Access hier quasi nur eine Durchgangsstation sein, oder willst du mit den Daten/der Datenbank auch noch anderweitig arbeiten?

    EDIT: Das Anlegen der Verknüpfung kannst du per VBA (TransferSpreadsheet) machen und dabei den Pfad der Datenbank als Variable (CurrentProjekt.Path) angeben.

    maike
     
    maikek, 10. April 2019
    #9
  10. Hallo,
    wozu soll das gut sein ?
    Gibt es eine Datenbank für den Mehrbenutzerbtrieb ?
     
    gpswanderer, 10. April 2019
    #10
  11. Die erzeugte Tabelle soll dann in Access weiter verarbeitet werden.
    Es kommen dann noch forms zur Dateneingabe, Sortierung, Filterung und suche hinzu.

    Es kann sein, dass durch Änderung der übergeordneten Verzeichnisstruktur sich auch der absolute Pfad ändert, relativ bleibt alles im selben Verzeichnis. Daher wäre eine relative Pfadangabe sinnvoll.
    Mit VBA kann ich dann natürlich den Pfad der Daten an den Pfad der Datenbank anpassen.
    Ist VBA hier einzige Weg?

    Wie setze ich denn mein o.g. Vorhaben am sinnvollsten um?
    Wenn ich es richtig verstehe wäre eine Abfrage schon das Richtige, eine weitere Tabelle wäre dann doch doppelte Datenhaltung?
     
  12. Hallo,
    und was ist mit der Frage nach dem Mehrbenutzerbetrieb ?
     
    gpswanderer, 11. April 2019
    #12
  13. Fragen beim Aufbau einer Datenbank

    Wäre grundsätzlich wünschenswert, da mehrere Benutzer unabhängig voneinander daran arbeiten könnten.
    Da ich mich damit aber noch gar nicht befasst habe würde ich das nicht als zwingend definieren. Wenn man beim Aufbau aber schon etwas dazu berücksichtigen könnte wäre das sicherlich gut.
     
  14. gpswanderer, 11. April 2019
    #14
  15. OK, wenn ich das richtig verstehe benötigt jeder User ein eigenes locales Frontend. Dieses Frontend greift dann auf die zentralen Daten des backends zu.
    Das könnte man doch aber auch im Nachgang adaptieren, oder?
    Gibt es hierfür zwingende Bedingungen die hierfür im Vorwege eingehalten werden müssen?

    Das Thema Multiuser würde ich gerne hinten dran stellen.
    Momentan beschäftigt mich eher das grundsätzliche Handling.

    Ich habe jetzt eine Abfrage erstellt in der die zu "berechnenden" Felder per VBA public function gefüllt werden. Das klappt auch so weit sehr gut.

    Art: getArt([Bezeichnung])


    PHP:
             Public Function getArt(SAP As String) As String
    Dim sapArray
    () As String
    sapArray 
    Split(SAP"-")
    Select Case sapArray(2)
    Case 
    "I"
    getArt "Strom"
    Case "U"
    getArt "Spannung"
    Case "K"
    getArt "Kombi"
    End Select
    End 
    Function
     
Thema:

Fragen beim Aufbau einer Datenbank

Die Seite wird geladen...
  1. Fragen beim Aufbau einer Datenbank - Similar Threads - Fragen Aufbau Datenbank

  2. FRAGE: Wenn(oder ; Wenns

    in Microsoft Excel Hilfe
    FRAGE: Wenn(oder ; Wenns: Hallo liebe Excel Legenden. Ich zerbreche mir jetzt schon seit Stunden den Kopf. Folgende Situation: Spalte A Tätigkeit Spalte B Anzahl Max Spalte C Anzahl Min Wenn ich jetzt bei Tätigkeit in...
  3. Frage zu Wenn Formel

    in Microsoft Excel Hilfe
    Frage zu Wenn Formel: Hallo, ich habe eine Liste bei der ich, wenn in einer Zelle die Meldung Net Price steht, dann nicht gerechnet werden soll. Allerdings ist bei mir diese Zeile nicht die eigentliche in der...
  4. Doofe Frage zu Power Query

    in Microsoft Excel Hilfe
    Doofe Frage zu Power Query: Hallo zusammen, habe ein doofe Frage. Ich habe über den Weg -Daten-Daten abrufen-aus Datei-aus Arbeitsmappe eine Tabelle in eine andere Mappe importiert. Wenn ich nun in der Quelldatei was ändere...
  5. Office 365 family / Outlook Fragen

    in Microsoft Outlook Hilfe
    Office 365 family / Outlook Fragen: Hallo habe alles neu gemacht am computer jetzt habe ich Win 10 64 bit also Outlook - das was bei Start PRogramme ist öffnet nicht Auf der MS Tastatur ist ein Knopf E-Mail der immer ging es öffnet...
  6. Frage zu CheckBox - TripleState =True

    in Microsoft Excel Hilfe
    Frage zu CheckBox - TripleState =True: Hallo zusammen, ich arbeite an einer kleinen Tabelle und bin beim Erstellen einer UserForm über CheckBoxen gestolpert. In den Eigenschaften gibt es den Triple State, den ich gerne nutzen würde....
  7. Neue Datenbank / Fragen zum Handling, Aufbau

    in Microsoft Access Hilfe
    Neue Datenbank / Fragen zum Handling, Aufbau: Hallo erstmal, zunächst einmal möchte ich mich kurz vorstellen: Ich heiße Jörg, komme aus dem schönen Frankenland und betreibe in meiner Freizeit aktiv Musik. Da ich seit einiger Zeit in 2...
  8. Frage zum Aufbau einer umfangreichen Datei/Datenbank

    in Microsoft Excel Hilfe
    Frage zum Aufbau einer umfangreichen Datei/Datenbank: Moin moin, auf der Arbeit stehe ich mal wieder vor einer etwas umfangreicheren Aufgabe. Ich muss ein "Provisorium" erstellen, mit dem wir arbeiten können bis die originale Software mal...
  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