Bilder oder Dateipfade in Access-DB speichern?!

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 31 Antworten in diesem Thema. Der letzte Beitrag () ist von Noyne.

    super!

    kann ich alles verstehen, was du sagst.
    Zählen kann man aber auch ohne, dass man dafür extra eine Relation anlegt und mit-pflegt.
    Diese redundanten Relationen bergen glaub die Gefahr, dass da eine Bestellung mit einem Bewohner verknüpft wird - aber es existiert gar keine Verordnung!
    Also lieber sauber zählen, über die Verordnungen gehn, und mw. einen bisserl längeren Linq-Ausdruck dafür formulieren.

    ErfinderDesRades schrieb:

    kann ich alles verstehen, was du sagst.
    Das freut mich immens, ehrlich ^^ Ich hatte schon meine Befürchtungen ...

    ErfinderDesRades schrieb:

    dass da eine Bestellung mit einem Bewohner verknüpft wird - aber es existiert gar keine Verordnung!
    Ne, geht nicht ... Glaub' mir einfach, es geht nicht. Das lässt das Programm an sich nicht zu. Dazu müsst ich jetzt aber weit ausholen und dir das Programm erklären ^^ Weil anhängen wird hier schlecht gehen, weil es ja ein Arbeitsprojekt ist ...

    ErfinderDesRades schrieb:

    Linq-Ausdruck
    Damit muss ich mich mal beschäftigen ... Ich hab' das mal grob überflogen, aber es war mir einfach zu kryptisch beim Drüberfliegen ... Aber ich guck' mir das mal an ... Und morgen stell' ich das Ganze Projekt mal auf DS um, das sollte an sich nicht so lange dauern ... Hoffentlich klappt das so, wie ich es mir einbilde 8|
    Your computer is running... You better go chase it! :P :D
    naja - Linq-Pillepalle - ausgehend von einer BewohnerRow:

    VB.NET-Quellcode

    1. dim BestellungCount = rwBewohner.GetVerordnungRows.SelectMany(Function(rwV)rwV.GetBestellungRows).Count


    Aber ich glaub nicht, dass man ein Projekt in einem Tag auf typDataset umstellen kann.
    Und: Immer feste Backup machen ;)
    So, ich hab' jetzt die Änderungen soweit angepasst und auch mal was getestet, aber es klappt nicht so, wie ich mir das vorgestellt habe ...

    Ich hab' mir das Dataset ja aus der DB generieren lassen und mal ein DGV über die Datenquellen aufs Test-Form gezogen und da mir das VS im Hintergrund die Zeile Me.TableAdapter.Fill(Me.AB_DTS.TableName) generiert hat, dacht' ich in meinem jugendlichen Leichtsinn, dass das reicht, um die Daten, die schon in der DB sind, ins DS zu füllen ... Wie schon geschrieben: jugendlicher Leichtsinn, weil: geht nicht ...

    Gut, in dem "Daten laden, speichern, verarbeiten"-Tut steht ja drin, wie man die Daten in die xml-Datei speichert, wieder draus lädt usw.

    Jetzt stellt sich mir die Frage, wenn es nicht automatisch geht, wie krieg' ich die Daten aus der Datenbank in mein generiertes DataSet??
    Wenn die dann einmal drinne sind, kann ich die ja direkt in die xml-Datei speichern, nur wie krieg ich sie denn rein?!
    Your computer is running... You better go chase it! :P :D
    jaja - die Jugend, jaja - der Leichtsinn ;)
    Die Daten stehen in Relation zueinander. Daraus folgt, beim Fill einer DataTable musst du drauf achten, dass übergeordnete Datensätze bereits geladen sind.
    meine DBExtensions kümmern sich um sowas, da habe ich eine sog. "topologische Sortierung" eingebaut, die die Datatables in der Reihenfolge anliefert, wie sie auch wiederspruchsfrei befüllt werden können.

    Aber mit bischen Nachdenken wirst du zunächstmal auch so eine widerspruchsfreie Reihenfolge anhand der Relations-Übersicht dir ausdenken können.
    Ach, dann muss ich zum Beispiel zum Befüllen des Medikament_NEU-TableAdapters zuerst die Dosierungstab und die Darreichungstab befüllen, bevor irgendwas geht?!
    Klar, das macht sogar Sinn ... Woher soll die Medi-Tab denn sonst die notwendigen Daten von Dosierung und Darreichung herkriegen?! Okay, das proier' ich gleich mal aus ...

    In deinen DBExtensions ist sowas drin??? Vielleicht sollte ich deine Helpers doch wieder mit einbauen ... Hmmmm ...

    EDIT: Cool!!! Kaum macht man's richtig, schon funktioniert's!!!
    Da hätt' ich ja jetzt ewig dran rumpopeln können ;)

    Danke schön ^^
    Your computer is running... You better go chase it! :P :D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Noyne“ ()

    Eine Frage, speziell für @ErfinderDesRades :

    Ich habe im Bewohner-Dialog momentan ein ungebundenes DGV für die Ansprechpartner des Bewohners (siehe Bild im Anhang).
    Dort sollen aus den Tabellen Angehöriger, Arzt, Mitarbeiter die rausgeholt werden, die mit dem Bewohner über die Bewohner_...-Tabellen in Verbindung stehen.

    Also beispielsweise: (Tabelle = DGV-Aufbau)
    Ansprechpartner
    Funktion
    Dr. Heinz Müller
    Hausarzt
    Dr. med. Sabine Kunze
    Facharzt
    Elke Schlössler
    Mitarbeiter
    Erik Fiedler
    Angehöriger

    Ich hab die Rows der DGV bislang immer mit

    VB.NET-Quellcode

    1. DGV.Rows.Add(row)
    eingefügt, aber das ist an sich ja nicht Sinn und Zweck meiner momentanen Umstellerei. Kann mir einer sagen, wie ich das 2. DGV gebunden kriege?!

    GLG, Noyne
    Bilder
    • Bew-Dialog.png

      62,31 kB, 853×609, 179 mal angesehen
    Your computer is running... You better go chase it! :P :D
    geht nicht mit Databinding.
    Dazu musste tatsächlich, vom Prinzip her wie bisher, die verschiedenen Tabellen durchsuchen und eine extra dafür anzulegende DataTable befüllen.
    Und auch eine AnsprechPartnerTyp-Tabelle muss her, damit das richtig ausnormalisiert ist.
    Diese beiden Tabellen sollten übrigens temporär bleiben, also nur im typDataset angelegt, ohne dasses mitte DB kommunizieren täte.
    Heho,

    ich hätte da nochmal eine Frage ... Ich habe ja das DataSet aus meiner DB erstellt und wollte gerne ganz am Anfang einmalig alle vorhandenen Datensätze aus der DB in eine .xml-Datei rüberschreiben. Meine Idee wäre ja irgendwie eine Art Startform zu machen und die gesamten TableAdapter mit .Fill zu füllen und dann zu sagen DataSet.WriteXml(DataFile.Fullname), in der Hoffnung, dass er mir die Datensätze 1:1 in die xml-Datei schreibt wie sie schon in der DB vorhanden sind. Aber das wird so leicht nicht funktionieren, oder?!
    Your computer is running... You better go chase it! :P :D