online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon SvenHa23 vom 25.09.2019, 12:36 Options

Hilfe bei Datenbank und Export benötigt!

Wahrscheinlich ist es nur ein kleines Problem, dennoch brauch ich eure Hilfe:

Ich habe in Access eine Abfrage (5 Spalten, erste Spalte "ID") erstellt, die 4 weitere Datenspalten aus unterschiedlichen Tabellen über die Spalte "ID" verknüpft. Mit Hilfe eines Formulars lasse ich über ein Kombinationsfeld die Daten aus der Spalte "ID" (z.B. ID-Nr. 1-20 etc.) anzeigen.

Nun soll man im Formular einen Datensatz auswählen können (z.B. ID=5) und die dazugehörige Zeile (mit den restlichen 4 Spalten) soll automatisch in eine neue Exceltabelle exportiert werden. Ich habe schon ein Makro "AusgabeIn" erstellt, damit exportiere ich zur Zeit leider nur die ganze Abfrage... Ich bräuchte also vorher einen Filter/Suche/Bedingung für die Daten, oder?

Wie geht das? Vielen Dank im voraus für eure Hilfe!


Antwort schreiben

Antwort 1 von lleopard vom 25.09.2019, 14:15 Options

hi Sven,

wenn du in einem Listenfeld eine Query oder Tabelle nutzt, dann nutze doch diese Quelle für den Export, indem du einfach eine Where Bedingung einfügst.

Die ID liest du aus mit einer Variablen:

dim idnr as integer

idnr = listenfeld.column(0)

oder bei einem Kombinationsfeld

idnr = Kombinationsfeld.value

und dann
dim ssql as string

ssql = "Select * From Abfrage Where Id=" & idnr

Das wäre also die quelle, die du nun nutzen kannst, um eine Exportquery zu erzeugen (CreateQueryDef) und die du dann exportierst.

Gruß leo


PS: Hie rmal n Beispiel, das du natürlich anpassen mußt:

Function ExportDaten()
On Error Resume Next
Dim idnr As Integer
Dim ssql As String
Dim dbs As DAO.Database
idnr = 5
ssql = "Select * From dbo_Artikel Where Tabelle.Id=" & idnr
Set dbs = CurrentDb
dbs.QueryDefs.Delete "Export"
dbs.CreateQueryDef "Export", ssql
dbs.QueryDefs.Refresh
Set dbs = Nothing

'und ab hier nun die AusgabeIn - Aktion für den Export nach Excel....
End Function

Antwort 2 von SvenHa23 vom 26.09.2019, 17:25 Options

Also leider versteh ich nur Bahnhof... :)

dieser Teil ist klar, hier wird eine temporäre Abfrage "Export" erstellt...

Set dbs = CurrentDb
dbs.QueryDefs.Delete "Export"
dbs.CreateQueryDef "Export", ssql
dbs.QueryDefs.Refresh
Set dbs = Nothing

Den ersten Teil versteh ich leider nur bedingt:
Probleme:

1. Dim idnr As Integer --> idnr=Spaltenbezeichnung?
2. Dim dbs As DAO.Database --> ?
3. idnr = 5 --> müsste hier die Bezeichnung des Kombinationsfeldes stehen? Warum steht oben "Kombinationsfeld.value", was hat das "value" zu bedeuten?
4. ssql = "Select * From dbo_Artikel Where Tabelle.Id=" & idnr --> mhhh...?

Meine Abfrage heisst: Abfrage_01, mein Formular heisst Formular_01.

Könnte mir jmd weiterhelfen, indem meine Bezeichnungen an der richtigen Stelle eingebaut werden?! Vielen Dank!

Antwort 3 von lleopard vom 27.09.2019, 08:15 Options

moin Sven,

hab ich ein wenig Verwirrung gestiftet? ;-)

also

1. Dim idnr As Integer --> idnr=Spaltenbezeichnung?

Nein! Mit Dim erzeugt man Variablen mit verschiedenen formaten. idnr ist hier also ein Integerwert. Was das ist, verrät dir die Access - Hilfe, die du gerne mal bemühen darfst.

2. Dim dbs As DAO.Database --> ?

dbs wird als ein DAO-Object deklariert und steht hier stellvertretend für die aktuelle Datenbank, wenn man den Verweis durch Set dbs = CurrentDB darauf setzt. Man kann auch jede andere Datenbank über das workspace-Objekt hier ansprechen.

3. idnr = 5 --> müsste hier die Bezeichnung des Kombinationsfeldes stehen? Warum steht oben "Kombinationsfeld.value", was hat das "value" zu bedeuten?

idnr = 5 war nur ein Beispiel. du mußt natürlich den Wert aus deinem Kombinationsfeld oder Listenfeld hinterlegen, damit die Abfrage einen Sinn ergibt. Und genau das - nämlich Wert - bedeutet value. Kombinationsfeld.Value spricht den gerade angezeigten Wert eines Formularfeldes an.

4. ssql = "Select * From dbo_Artikel Where Tabelle.Id=" & idnr --> mhhh...?

Das ist wiederum ein Statement, um dem CreateQuery zu sagen, mit welchem SQL-Parameter wir arbeiten...

Also alles in allem sind das Anfängerfragen, die man wunderbar versteht, wenn man sich der Access-Hilfe bedient. Ein bisschen mehr Mühe geben, beim verstehen der Antworten...dann macht es auch mehr Spaß damit zu arbeiten!

Gruß Leo

Antwort 4 von SvenHa23 vom 28.09.2019, 10:49 Options

Vielen Dank für Deine Antwort. Klar, als Abfragungsnovize stellt man unmögliche Fragen :) Nun hats aber geklappt und das gewünschte Ergebnis ist vorhanden.

Nochmals vielen Dank für die kleine Einführung.. :)

Ähnliche Themen

Datenbank in Excel
Peter28  16.02.2007 - 181 Hits - 1 Antwort

export-ntdll.dll
rw1978  31.07.2007 - 179 Hits - 1 Antwort

Rechnungskurs-Datenbank
ichhabeinefrage  02.08.2007 - 148 Hits - 7 Antworten

linked to missin export
marylin  25.09.2007 - 48 Hits - 1 Antwort

Access Datenbank mobil machen
haribo7  13.02.2008 - 116 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 20:06:00 2026