Supportnet / Forum / Datenbanken
Access Abfrage Problem
Frage
Hallo Leute,
ich habe eine kleines Problem, vielleicht könnt ihr mir helfen.
Habe eine Abfrage die mir als Ergebnis 1 Spalte und 8 Zeilen liefert. In jeder der 8 Zeilen steht nur Text.
Ich möchte aber eine Abfrage machen, die mir eine Zeile und eine Spalte ausgibt, wo der Text der 8 Zeilen jeweils mit einem Leerzeichen getrennt in einem Feld steht.
Hoffe ich habe mich verständlich ausgedrückt.
Vielen Dank schon mal im vorraus,
Viele Grüße Christian
Antwort 1 von Teddy
Hallo Christian !
Das geht nicht mit "Bordmitteln" - höchstens mit VBA-Programmierung.
Reicht es nicht, die Daten in einem Bericht darzustellen ?
Gruß
Teddy
Das geht nicht mit "Bordmitteln" - höchstens mit VBA-Programmierung.
Reicht es nicht, die Daten in einem Bericht darzustellen ?
Gruß
Teddy
Antwort 2 von Christian Pfeffer
Hallo Teddy,
nein leider reicht das nicht mit dem Bericht.
Die Abfrage oder VBA sollte mir das irgendwie liefern. Brauche die Sache für ein Formular.
Danke.
Gruß, Christian
nein leider reicht das nicht mit dem Bericht.
Die Abfrage oder VBA sollte mir das irgendwie liefern. Brauche die Sache für ein Formular.
Danke.
Gruß, Christian
Antwort 3 von Adik
Wenn du das ganze für ein Formular brauchst ist es doch noch besser.
Dann schieben wir die acht Einträge einfach mal in ein Textfeld dieses Formulars. Das ganze in eine andere Tabelle um zu speichern läuft ähnlich.
Also zum Beispiel bei dem Ereignis Formular laden könnte man folgendes machen:
Ich hab das ganze jetzt mit einer Do while Schleife gemacht, das ist eigentlich unüblich. Normalerweise macht man sowas mit einer for schleife und die Acht würde man auch nicht festsetzten sondern sowas wie rs.length() einsetzen...aber ich kenn mich mit VBA nicht so gut aus, daher hab ich das jetzt hier so gemacht. Das findest du aber sicher noch raus ;-))
ciao
Christoph
Dann schieben wir die acht Einträge einfach mal in ein Textfeld dieses Formulars. Das ganze in eine andere Tabelle um zu speichern läuft ähnlich.
Also zum Beispiel bei dem Ereignis Formular laden könnte man folgendes machen:
Dim rs as new ADODB.recordset
Dim i as Integer
rs.open "tabelle", CurrentProject.Connection, adOpendynamic, adLockOptimistic
i =0
do while (i < 8)
tf_werte = tf werte + rs!spaltenname
loop
rs.close
Ich hab das ganze jetzt mit einer Do while Schleife gemacht, das ist eigentlich unüblich. Normalerweise macht man sowas mit einer for schleife und die Acht würde man auch nicht festsetzten sondern sowas wie rs.length() einsetzen...aber ich kenn mich mit VBA nicht so gut aus, daher hab ich das jetzt hier so gemacht. Das findest du aber sicher noch raus ;-))
ciao
Christoph
Antwort 4 von SJ
Probiers mal hiermit.
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("TEXT") 'Der Name deiner Abfrage, statt TEXT
rs.MoveFirst
Do
Me!Text1.Value = Me!Text1.Value & " " & rs!Text
'Hier TEXT durch deinen Spaltennamen ersetzen
'TEXT1 ist Feld in deinem Formular wo die Texte erscheinen sollen
rs.MoveNext
Loop Until rs.EOF = True
Kannst den Code als Ereigniss bei Klick hinter eine Schaltfläche legen.
MFG
SJ
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("TEXT") 'Der Name deiner Abfrage, statt TEXT
rs.MoveFirst
Do
Me!Text1.Value = Me!Text1.Value & " " & rs!Text
'Hier TEXT durch deinen Spaltennamen ersetzen
'TEXT1 ist Feld in deinem Formular wo die Texte erscheinen sollen
rs.MoveNext
Loop Until rs.EOF = True
Kannst den Code als Ereigniss bei Klick hinter eine Schaltfläche legen.
MFG
SJ
Antwort 5 von SJ
21s zu spät :(
Aber fast das geiche Ergebniss :)
Aber fast das geiche Ergebniss :)
Antwort 6 von Christian Pfeffer
Hi Leute,
danke es hat geklappt.
Viele Grüße, Christian
danke es hat geklappt.
Viele Grüße, Christian
Antwort 7 von Adik
@SJ Ja, aber ich hab in meinem Code rumgemurkst und das MoveNext vergessen..lol
Naja, es geht ja jetzt!
Chirstoph
Naja, es geht ja jetzt!
Chirstoph

