Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

SQL Update / Insert

Begonnen von dmaccs, Juni 24, 2012, 16:10:42

⏪ vorheriges - nächstes ⏩

MzKlMu

Hallo,
Du kannst sowohl im Hafo als auch im Ufo beide Tabelle in eine Abfrage aufnehmen (mit der Beziehung) und beliebige Felder aus beiden Tabellen im Hafo bzw. Ufo anzeigen, gemischt völlig problemlos.

Zitatbesteht die Möglichkeit es mit SQL / VBA Befehlen zu erledigen?  Ich denke gerade an so etwas wie, dass es nach der Artikelnr. suchen soll, wenn es nichts findet, dann soll nichts darstellen und nach dem beenden soll das INSERT Befehl kommen, wenn er etwas gefunden hat, dann soll das UPDATE Befehl ausgeführt werden.
SQL/VBA ist hier völlig fehl am Platz. Mit gebundenen Formularen wird genau dieser Wunsch von Dir automatisch erledigt. Findet er was wirds angezeigt, findet er nichts hast Du einen leeren Datensatz in den Du direkt schreiben kannst was dann auch automatisch in der entsprechenden Tabelle landet.
Gruß Klaus

oma

Hallo,

und sorry, dein letzter Beitrag ist mir trotz mehrmaligen Lesens nicht verständlich???
Du musst das schon genauer beschreiben, wenn du Hilfe haben willst.

Gruß Oma
nichts ist fertig!

dmaccs

Hallo,

mit einer Abfrage bekomme ich das gewünscht Ergebnis, dass es mir alles anzeigt, für die es eine Artikelnr., auch wenn noch nicht überall eine Beschreibung vorhanden ist.
Jedoch wird genau diese Abfrage nicht korrekt im Formular, besser gesagt im Unterformular angezeigt. Das UFO ist mit der Abfrage verknüpft. Die Textfelder sollen mit den Werten aus der Abfrage gefüllt werden.

Der Aufbau meiner DB / Tabellen sieht wie folgt aus:

ZitatTabelle1 hat die Spalten "ArtikelNR", "Text1", "Text2"
Tabelle2 hat die Spalten "TBNr", "TBtxt1", "TBtxt2"
Tabelle3 hat die Spalten "TRNr", "TRtxt"

Die Abfrage ist wie folgt aufgebaut:

SELECT ArtikelNR, Text1, Text2, TRtxt, TBtxt1, TBtxt2
FROM (Tabelle1 INNER JOIN Tabelle3 ON Tabelle1.ArtikelNR = Tabelle3.TRNr) LEFT JOIN Tabelle2 ON Tabelle1.ArtikelNr = Tabelle2.TBNr
ORDER BY ArtikelNr;


Wenn ich nun die Abfrage öffne, dann wird korrekt die gesamte Liste mit den Nummern aufgeführt und wenn in Tabelle2 auch Werte zu der ArtikelNr stehen mit angezeigt.

Sobald ich nun im Formular die ArtikelNr auswähle, bleibt das Unterformular komplett leer, auch wenn die Felder auf die Tabelle1 Verweisen, welches Einträge enthält. Sobald nun im Feld TBtxt1 etwas eingetragen wurde und der Artikel noch mal ausgewählt wird, dann werden alle Felder korrekt ausgefüllt (eben mit jenen Werte aus Tabelle1 und Tabelle3, die davor nicht angezeigt werden).

Was mache ich bei der Verknüpfung falsch?

Gruß

MzKlMu

Hallo,
erstelle mal eine kleine Beispieldb und lade diese mit einer (Fehler) Beschreibung hier hoch.
Gruß Klaus

dmaccs

Hallo,

anbei eine Test-DB die das Problem darstellt.

Es ist exemplarisch mit den Feldnamen und Bezeichnungen. Ich möchte wie gesagt die Werte im UFO darstellen mit allen Feldern, die einen Inhalt haben, bei einer getroffen Auswahl im HFO.

Vielen Dank schon mal.

Gruß

[Anhang gelöscht durch Administrator]

MzKlMu

#20
Hallo,
die ganze Zeit war ja von 2 Tabellen die Rede.
Zitatich habe zwei Tabellen. Diese sollen mit einer Nummer, die in beiden Tabellen drin stehen wird, verknüpft sein.
Mit 2 von Tabelle1 abhängigen Tabellen brauchst Du auch zwingend 2 Ufos, für jede Tabelle eines.
Ich habe Dir auch im Beziehungsfenster die Beziehungen 1:1 mit RI eingestellt. Der Sinn der Tabelle3 erschließt sich mir aber nicht, falls es ebenfalls 1:1 ist. Oder sollen da zu einem Artikel mehrere Datensätze erfasst werden?

Das Kombi zur Artikelsuche funktioniert jetzt auch.

Bitte beschreibe das mal genauer.

[Anhang gelöscht durch Administrator]
Gruß Klaus

dmaccs

Hallo,

vielen Dank für deine Hilfe.

Wie ich sehe, hast du das Unterformular anders eingebunden als ich. Kannst du mir sagen, wie? Ich hatte das UFO einfach in das HFO gezogen.

Aber zum Hautpthema:

Tabelle1 ist die "führende" Tabelle und besitzt den Artikelnr, eine kurze Textbeschreibung und einen Verweis auf einen Typ.
Die nähere Beschreibung, was für ein Typ es ist, befindet sich in Tabelle2. Und in Tabelle3 sollen weitere Kommentar und andere Informationen geschrieben werden.
Ich darf Tabelle1 und 2 nicht verändern. Deswegen brauche ich meine Arbeitstabelle3. Für das Formular, sollen jedoch informativ Werte aus Tabelle1 und 2 angezeigt werden.

[Als bsp könnte auch ein Autoverwaltung sein. Du hast die Artikelnr für die PKW's, diese sind je nach Typ kategorisiert, wie PKW, LKW, NKW, und PKW wird dann noch weiters auf

Mein Problem mit den Ufo's ist die Anordnung. Mir ist leider vorgegeben wie das fertige Layout aussehen soll.

Im Anhang mal ein Bild von der Gestaltung und warum es mir Probleme verursacht.

Gruß

[Anhang gelöscht durch Administrator]

MzKlMu

Hallo,
mit den neuen Hinweisen sieht das jetzt anders aus.
Das ist jeweils eine 1:1 Beziehung von Tabelle1 zu Tabelle2 und von Tabelle2 zu Tabelle3.
Das kannst Du in einem Formular ohne Unterformular darstellen.
Mit 2 Left Joins bleibt die Abfrage auch bearbeitbar.

Siehe Anhang.

[Anhang gelöscht durch Administrator]
Gruß Klaus

dmaccs

Vielen Dank!

Ich schaue jetzt, dass ich es auf meine "Live"-Daten überragen kann und es genauso funktioniert.

Merci!

Gruß

dmaccs

Hallo,

also mit den Tabellen klappt das nun bestens. Vielen Dank noch mal.

Eine Erweiterung ist nun aber dazu gekommen, dass die Tabelle2 nicht nur ein Wert besitzen kann, sondern mehrere in Relation zu Tabelle1, also eine 1:n Beziehung. Tabelle3 hat aber weiterhin eine 1:1 Beziehung zu Tabelle1.

Geht das dann wieder über Unterformulare oder gibt es einen anderen Weg dazu?

Gruß

MzKlMu

Hallo,
das erfordert wieder völlig andere Beziehungen. Dann brauchst Du auch zwingend ein Unterformular für Tabelle2.
Ich komme aber erst heute Abend dazu, das zu ändern.
Gruß Klaus

dmaccs

Vielen Dank vorab schon für deine Hilfe!

Gruß

MzKlMu

#27
Hallo,
anbei mein Vorschlag.

Das sind jetzt 2 Ufos. Die Artikelnr wird automatisch nach Tabelle3 (bei Bedarf auch nach Tabelle2) übertragen.
Es gibt weder VBA noch SQL. Nur gespeicherte Abfragen. Wobei das natürlich auch SQL ist, aber eben nicht programmiert.

Das geht alles völlig problemlos mit den Grundfunktionen von Access.
Daher habe ich auch mal auf ein Kombi zum Suchen verzichtet, das kann man noch einbauen. Ich wollte ja bewusst zeigen, dass hier nichts programmiert werden muss.

[Anhang gelöscht durch Administrator]
Gruß Klaus

dmaccs

Hallo MzKlMu,

vielen vielen Dank für das anschauliche Beispiel.

Das erfüllt genau das, was funktionsseitig zu realisieren ist.

Jedoch gibt es einen kleinen Punkt, der leider sofort ins Auge sticht: Die Formatierung. Das mit den Unterformularen ist perfekt und sehr flexibel, jedoch habe ich eine Layoutvorgabe die übernommen werden sollte. Und dort habe ich das Problem, ich kann jetzt mehrere Einzelne UFO's erstellen und dann es so anordnen wie gewünscht. Die Datensatzleiste kann ich ausblenden, das ist schon gut, jedoch v.a. auf Grund von Platzmangel, würde ich den linken Ballken mit dem Pfeil auch ausblenden. Gibt es dazu eine Option?

Gruß

MzKlMu

#29
Hallo,
das ist der Datensatzmarkierer, den kannst Du in den Formateigenschaften des Formulars ebenfalls ausblenden.
Du kannst die Ufos so einstellen, dass die nicht mehr zu erkennen sind.
Anbei noch eine erweiterte Version, mit Kombi zum Suchen des Artikels und den Formateinstellungen der Ufos.

[Anhang gelöscht durch Administrator]
Gruß Klaus