MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 29.10.2002, 22:14   #1
Michael2050
MOF User
MOF User
Standard Select von 2 Tabellen gleichzeitig

Hallöchen,

ich habe ein Problem mit der Selectanweisung.
Ich habe eine Selectanweisung und will eine Tabelle in einem Listenfeld ausgeben.
Eigentlich ist das ja kein Problem, aber in der Tabelle die ich mit Select "auslese" gibt es eine Spalte wo nur Zahlen drin stehn.
Dises Zahlen gehören zu anderen Tabellen, wo zu jeder Zahl (Typ Autowert) weiter Daten verfügbar sind.
Diese Daten möchte ich gleichzeitig mit der Selectanweisung für die Tabelle1 ausgeben.

Bsp.:
"SELECT Tabelle1.Lieferscheinnummer, Tabelle1.idvvk FROM Tabelle1 Where [va-nr] = '" & Forms![va-daten]![Nr] & "';"

Nun ist das Problem, daß idvvk auf drei andere Tabellen zugreifen kann.
In der Spalte idvvk stehen Werte z.B.: 3R oder 4T oder 7 .
Wenn jetzt eine Record in der Tabelle1 gefunden wird wo in der Spalte idvvk ein 3R drin steht, dann soll die Tabelle Reisebüros eingebunden werden und dort soll dann gleichzeitig die Firma und Name mit der Lieferscheinnummer aus Tabelle1 ausgegeben werden.
Wie kann ich das anstellen?
Bitte helft mir
Michael2050 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.10.2002, 18:13   #2
Michael2050
Threadstarter Threadstarter
MOF User
MOF User
Standard

Weiß wirklich keiner Rat?
Oder habe ich mich etwas kompliziert und unverständlich Ausgedrückt?
Michael2050 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.10.2002, 18:21   #3
A.S.
Standard

die informationen reichen nicht...

wir benötigen angaben über die relevanten feldnamen und -typen aus allen relevanten tabellen (derer gibt's offensichtlich mind. 4 wenn ich das richtig verfolgt habe), die namen der tabellen, sowie eine beschreibung der möglichen werte in idwk welcher auf welche tabelle ausrichtet.

lösen läst sich das ganze über ein paar auswahlabfragen mit inner join die über die union-anweisung miteinander gekoppelt werden.

um das aber auszuarbeiten und dir ggf. (sofern dir der vorige absatz nicht schon genügt) ein beispiel zu geben, fehlt ein wenig substanz in der anfrage.

gruß
arno
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.10.2002, 18:49   #4
Michael2050
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallöchen NG,

Also ich möchte ein Listenfeld mit Daten füllen.
Die Tabelle die ich über die Select-Anweisung im Listenfeld ausgebe heisst Lieferscheinverwaltung.
Code:

SELECT Lieferscheinverwaltung.Lieferscheinnummer,
       Lieferscheinverwaltung.[VA-Nr],
       Lieferscheinverwaltung.Erstellungsdatum,
       Lieferscheinverwaltung.[Kartenanz voll],
       Lieferscheinverwaltung.[Kartenanz erm],
       Lieferscheinverwaltung.[Kartenpreis voll],
       Lieferscheinverwaltung.[Kartenpreis erm],
       Lieferscheinverwaltung.Lieferscheintext,
       Lieferscheinverwaltung.idvvk
  FROM Lieferscheinverwaltung
 Where     [va-nr] = '" & Forms![va-daten]![Nr] & "' 
       And [vorverkaufsstelle] =  '" & auswahlvvk & "'
 ORDER BY Lieferscheinverwaltung.Erstellungsdatum desc;"
Das funktioniert auch so wie es gedacht ist.
Aber in der Spalte Idvvk (Typ String) sthene werte wie z.B.: 3R; 4T; 8 ;
Das "R" hinter der Zahl heißt das zugehörige Daten in der Tabelle Reisebüros zu finden sind.
Das "T" hinter der Zahl heißt das zugehörige Daten in der Tabelle Ticketservice zu finden sind.
Das " " hinter der Zahl heißt das zugehörige Daten in der Tabelle Vorverkauf zu finden sind.
Die Zahlen vor den Buchstaben sind die ID (Autowert) in der zugehörigen Tabelle.

Diese zusätzlichen Daten sind Firma; Anrede; Name.
in diesen Zusatztabellen stehen Werte, die mit in das Listenfeld ausgeben will.

Das heisst, wenn ein Record in der Tabelle Lieferscheinverwaltung gefunden wird, soll je nach dem was in der Spalte idvvk drin steht diese Zusatzdaten aus der jeweiligen Tabelle Reisebüros, Ticketservice bzw. Vorverkaufsstellen mit in die Ausgabe in das Listenfeld einbezogen werden.

Ich hoffe das ich es halbwegs gut erklären konnte.

A.S. SQL-code zwecks Lesbarkeit editiert! Auch Coding gehört formatiert!

[ 30. Oktober 2002: Beitrag editiert von: A.S. ]

Michael2050 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.10.2002, 20:56   #5
A.S.
Standard

Hallo Michael,

noch eine Frage.

Du schreibst [quote]Aber in der Spalte Idvvk (Typ String) sthene werte wie z.B.: 3R; 4T; 8 ;[/code]Steht das was ich hier Fett hervorgehoben habe in einem Feld oder ist dies ein UniqueIdentifier (bezogen auf die jeweilige Tabelle) und in jedem DS der Tabelle Lieferscheinverwaltung ist jeweils nur 1 solcher Eintrag (also z.B. "3R") zu finden und nicht mehrere?

Gruß

Arno
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.10.2002, 20:22   #6
Michael2050
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallöchen,
Sorry das ich nicht gleich zurückschreibe konnte.

In jedem Datensatz steht nur ein idvvk also nur "1R" oder "1T" oder "1 ".
Also immer nur ein Zahl+Buchstabe, sonnst nichts.
Was meinst Du mit UniqueIdentifier?
Das mit den Buchstaben hinter der Zahl hab ich selbst eingeführt.
Michael2050 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.10.2002, 21:54   #7
MarioR
MOF Meister
MOF Meister
Standard

Hallo Michael,

ohne jede Garantie - versuch mal Folgendes:
Code:

SELECT Lieferscheinverwaltung.Lieferscheinnummer,
       ...
       Lieferscheinverwaltung.idvvk,
       Reisebüros.Firma,
       Reisebüros.Anrede,
       Reisebüros.Name
FROM   Lieferscheinverwaltung INNER JOIN Reisebüros
ON     Val(Lieferscheinverwaltung.idvvk)=Reisebüros.ID
WHERE  [va-nr] = '" & Forms![va-daten]![Nr] & "'
And    [vorverkaufsstelle] = '" & auswahlvvk & "'
And    Right(Lieferscheinverwaltung.idvvk, 1)='R'
UNION
SELECT Lieferscheinverwaltung.Lieferscheinnummer,
       ...
       Lieferscheinverwaltung.idvvk,
       Ticketservice.Firma,
       Ticketservice.Anrede,
       Ticketservice.Name
FROM   Lieferscheinverwaltung INNER JOIN Ticketservice
ON     Val(Lieferscheinverwaltung.idvvk)=Ticketservice.ID
WHERE  [va-nr] = '" & Forms![va-daten]![Nr] & "'
And    [vorverkaufsstelle] = '" & auswahlvvk & "'
And    Right(Lieferscheinverwaltung.idvvk, 1)='T'
UNION
SELECT Lieferscheinverwaltung.Lieferscheinnummer,
       ...
       Lieferscheinverwaltung.idvvk,
       Vorverkauf.Firma,
       Vorverkauf.Anrede,
       Vorverkauf.Name
FROM   Lieferscheinverwaltung INNER JOIN Vorverkauf
ON     Val(Lieferscheinverwaltung.idvvk)=Vorverkauf.ID
WHERE  [va-nr] = '" & Forms![va-daten]![Nr] & "'
And    [vorverkaufsstelle] = '" & auswahlvvk & "'
And    Right(Lieferscheinverwaltung.idvvk, 1)=' '
ORDER BY Lieferscheinverwaltung.Erstellungsdatum desc;

__________________

Mario

Fluchen ist die einzige Sprache, die alle Programmierer perfekt beherrschen.
MarioR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 31.10.2002, 22:26   #8
A.S.
Standard

Hallo Michael,

was Mario da gepostet hat dürfte die Abfrage sein, welche Du suchst. Probier sie bitte mal aus. Ich sehe einen Punkt ein wenig als problematisch an, aber den Verrate ich erst, wenn Du die Abfrage getestet hast und uns das Ergebnis mitgeteilt hast

Übrigens um diese Abfrage zu erfassen, mußt Du eine neue Abfrage erstellen und ohne eine Tabelle anzugeben über den Menupfad "Ansicht/SQL" in den SQL-Editor der Abfrage geben und dort die Union-Abfrage direkt als Quelltext eingeben. Eine solche Abfrage läßt sich nicht über den bequemen Abfrageeditor von Access erstellen - sorry

Gruß

Arno
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.11.2002, 00:23   #9
Michael2050
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallöchen,
Danke für den Umfassenden Quellcode, ich habe nur ein kleines Problem wie ordne ich den Code an?
Für eine Zeile ist er zu lang und so wie er hier geschrieben wurde klappt es auch nicht mit der Anordnung?
Könnt ihr mir nochmal weiter helfen, ganz großes Danke nochmal.
Michael2050 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.11.2002, 01:06   #10
Michael2050
Threadstarter Threadstarter
MOF User
MOF User
Standard

also ich habe die lange Selectanweisung jetzt durch den debugger durch bekommen.
Aber leider gibt es keine Ausgabe im Listenfeld, trotz allen einstellungen, die ich getroffen habe.


Hab den Herkunftstyp des Listenfeldes auf Tabbell/Abfrage gestellt, die Spaltenanzahl stimmt auch.

Die länge des strings habe ich so unter einen Hut gebracht:

Code:

SELECT Lieferscheinverwaltung.[Lieferscheinnummer],
       Lieferscheinverwaltung.[VA-Nr],
       Lieferscheinverwaltung.[Erstellungsdatum],
       Lieferscheinverwaltung.[Kartenanz voll],
       Lieferscheinverwaltung.[Kartenanz erm],
       Lieferscheinverwaltung.[Kartenpreis voll],
       Lieferscheinverwaltung.[Kartenpreis erm],
       Lieferscheinverwaltung.[Lieferscheintext],
       Lieferscheinverwaltung.[Idvvk],
       Reisebüros.[FIRMA1],
       Reisebüros.[ANperson],
       Reisebüros.[NAME]
  FROM Lieferscheinverwaltung
       INNER JOIN Reisebüros
       ON Val(Lieferscheinverwaltung.[idvvk])=Reisebüros.[ID]
 WHERE     [va-nr] = ' & Forms![va-daten]![Nr] & '
       And [vorverkaufsstelle] = ' & auswahlvvk & ' 
       And Right(Lieferscheinverwaltung.[idvvk], 1)='R'
UNION
SELECT Lieferscheinverwaltung.[Lieferscheinnummer],
       Lieferscheinverwaltung.[VA-Nr],
       Lieferscheinverwaltung.[Erstellungsdatum],
       Lieferscheinverwaltung.[Kartenanz voll],
       Lieferscheinverwaltung.[Kartenanz erm],
       Lieferscheinverwaltung.[Kartenpreis voll],
       Lieferscheinverwaltung.[Kartenpreis erm],
       Lieferscheinverwaltung.[Lieferscheintext],
       Lieferscheinverwaltung.[Idvvk],
       Ticketservice.[FIRMA1],
       Ticketservice.[ANperson],
       Ticketservice.[NAME]
  FROM Lieferscheinverwaltung
       INNER JOIN Ticketservice
       ON Val(Lieferscheinverwaltung.[idvvk])=Ticketservice.[ID]
 WHERE     [va-nr] = ' & Forms![va-daten]![Nr] & '
      And  [vorverkaufsstelle] = ' & auswahlvvk & '
      And  Right(Lieferscheinverwaltung.[idvvk], 1)='T' 
UNION
SELECT Lieferscheinverwaltung.[Lieferscheinnummer],
       Lieferscheinverwaltung.[VA-Nr],
       Lieferscheinverwaltung.[Erstellungsdatum],
       Lieferscheinverwaltung.[Kartenanz voll],
       Lieferscheinverwaltung.[Kartenanz erm],
       Lieferscheinverwaltung.[Kartenpreis voll],
       Lieferscheinverwaltung.[Kartenpreis erm],
       Lieferscheinverwaltung.[Lieferscheintext],
       Lieferscheinverwaltung.[Idvvk],
       Vorverkauf.[Firma],
       Vorverkauf.[ANREDE],
       Vorverkauf.[NAME]
  FROM Lieferscheinverwaltung
       INNER JOIN Vorverkauf
       ON Val(Lieferscheinverwaltung.[idvvk])=Vorverkauf.[kunden nr vorverkauf]
 WHERE     [va-nr] = ' & Forms![va-daten]![Nr] & '
       And [vorverkaufsstelle] = ' & auswahlvvk & '
       And Right(Lieferscheinverwaltung.[idvvk], 1)=' '
 ORDER BY Lieferscheinverwaltung.Erstellungsdatum] desc;
Leider gehts nicht.

A.S.: SQL-Code editiert um das Forum bzw. den Beitrag überhaupt wieder lesbar zu bekommen!

[ 01. November 2002: Beitrag editiert von: A.S. ]

Michael2050 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.11.2002, 07:51   #11
A.S.
Standard

Hallo Michael,

damit man Deinen SQL-Code überhaupt lesen konnte habe ich ihn erstmal an die Forumsdarstellung angepasst und die VBA-Sequenzen 'rausgenommen

Warum das jetzt nicht passt, weiß ich nicht. Es sieht mir (im Original) aber ganz danach aus, das noch weiteres Coding das Verhalten der SQL beeinflußt. Das kann man aber nur beurteilen, wenn man sich das ganze am lebenden Objekt ansieht.

Kannst Du die 4 Tabellen und das Formular mal in eine A97 oder A00-DB packen und mir zuschicken? Dann seh ich mir das mal an.

Gruß

Arno

PS Noch ein Hinweis an die anderen Teilnehmer die sich mit dem Thread beschäftigen: Die in Michaels Beitrag stehende SQL entspricht nicht dem was er gepostet hat. Sofern diese für Euch jetzt "fehlerhaft" erscheint, kann es daran liegen das ich evtl. das ein oder andere Zeichen zuviel rausgenommen habe, was ich aber nicht glaube.
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.11.2002, 10:14   #12
Michael2050
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo NG.
Ich habe es doch noch hinbekommen, der Quellcode funktioniert und läuft ohne Probleme.
Mein Problem war, das ein Tabellename nicht gestimmt hatte. Aber nun habe ich drüber geschlafen es war ja gestern auch etwas spät.

Tausend Dank an euch beide

mfg Michael
Michael2050 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.11.2002, 10:30   #13
Michael2050
Threadstarter Threadstarter
MOF User
MOF User
Standard

Ein kleines Problem habe ich allerdings doch noch.
Wie kann ich das Ausgabeformat der Spalten 8 und 9, also (Kartenpreis voll) und (kartenpreis erm),in das Format einer Währung bringen?
Format(...., "###.#0 €").
Wenn ich es in die Selectfunktion reinschreibe, dann kommt logischerweise ein Fehler.
Gibt es da soetwas wie liste2.Column(8)=Format(...,, "###.#0 €").
Das wäre das letzte Problem.

mfg Michael
Michael2050 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 02.11.2002, 11:49   #14
MarioR
MOF Meister
MOF Meister
Standard

Eigentlich sollte das mit Format gehen.

Was kommt denn für ein Fehler?

__________________

Mario

Fluchen ist die einzige Sprache, die alle Programmierer perfekt beherrschen.
MarioR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:00 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.