Thema Datum  Von Nutzer Rating
Antwort
27.07.2005 15:19:53 Assunta
NotSolved
27.07.2005 23:37:45 Oliver
NotSolved
28.07.2005 08:46:12 Assunta
NotSolved
28.07.2005 14:08:38 Oliver
NotSolved
29.07.2005 09:34:46 Assunta
NotSolved
Blau daten in access automatisch in excel
29.07.2005 19:58:48 Oliver
NotSolved
02.08.2005 09:38:22 Assunta
NotSolved
08.08.2005 14:03:03 Assunta
NotSolved
26.08.2005 13:51:32 Rasta
NotSolved

Ansicht des Beitrags:
Von:
Oliver
Datum:
29.07.2005 19:58:48
Views:
1262
Rating: Antwort:
  Ja
Thema:
daten in access automatisch in excel
Hi Asunta,

hmm, wenn du es fortlaufend haben willst, musst du eine bedingung einbauen, wie

dim zeile as long
dim spalte as long
spalte = 1
zeile = 1

do until cells(zeile, spalte) = ""

zeile = zeile + 1

loop
'nach der schleife hat er eine leere zelle gefunden(darf halt auch keine leere zwischendrin sein)

ich habe dir hier ein beispiel herausgesucht, um eine access-db anzuzapfen:

Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim sConnString As String

sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\BVRdb.mdb;User Id=admin;Password=;"

conn.Open sConnString
Set cmd.ActiveConnection = conn

cmd.CommandText = "SELECT [Abfrage auf Tabelle].Monat, [Abfrage auf Tabelle].Country AS Ausdr1, Count([Abfrage auf Tabelle].Country) AS [Anzahl von Country]
FROM [Abfrage auf Tabelle]
GROUP BY [Abfrage auf Tabelle].Monat, [Abfrage auf Tabelle].Country
"
cmd.CommandType = adCmdText
Set rs = cmd.Execute

Do While Not rs.EOF

'und hier ein beispiel zur fallunterscheidung
if rs("monat") = "januar" then
cells(zeile, spalte) = rs("Anzahl")
elseif rs("monat" = "februar" then
cells(1, 1) = rs("Anzahl")
else
cells(2, 1) = rs("anzahl")

end if

rs.MoveNext
Loop

Set rs = Nothing
Set cmd = Nothing
conn.Close
Set conn = Nothing

kann sein, das es auch rs.item("anzahl") heisst, statt rs("anzahl") - habs nicht gestestet. aber wenn du die kleine anleitung genau durchliest, solltest du zu einem ergebnis kommen. achja und nicht vergessen, bei den verweisen im vba-editor einen verweis auf microsoft ado2.8 zu setzen!

ich hoffe es hilft dir
viele grüße

oliver

Assunta schrieb am 29.07.2005 09:34:46:

hallo oliver

dein lösungsvorschlag klingt gut:)
hört sich nur bissel kompliziert zu erstellen an *g*

also die ergebnisse sollen alle in demselben excelsheet, jedoch je nach monat in ner anderen zeile stehen. (also z.b. alle ergebnisse von mai in einer zeile und die von juni in die zeile drunter)

du brauchste die sql codes von den abfragen?

hier ist mal n beispiel code:

SELECT [Abfrage auf Tabelle].Monat, [Abfrage auf Tabelle].Country AS Ausdr1, Count([Abfrage auf Tabelle].Country) AS [Anzahl von Country]
FROM [Abfrage auf Tabelle]
GROUP BY [Abfrage auf Tabelle].Monat, [Abfrage auf Tabelle].Country;

kannste was damit anfangen?

gruß
assunta



Oliver schrieb am 28.07.2005 14:08:38:

"guten morgen" aussunta :-)
also das ganze wird so aussehen, das wir von excel eine datenbank-connection zu access aufbauen und eine abfrage(sql) senden.
das ergebnis der abfrage schreiben wir in excel in eine art datenbehälter-tabelle(recordset).
dieses recordset können wir nach belieben auslesen und die daten die wir erhalten durch bedingungen dahin schreiben, wo wir sie benötigen.

d.h. wenn die selben länder immer in den selben spalten stehen, ist es uns nur recht.
dann können wir z.b. unterscheiden:;

if land = "italien" then
cells(3, 5) = summe
end if

wie sieht es aus? werden die ergebnisse im gleichen excel-sheet weiter geschrieben, oder pro auswertung ein eigenes excel-sheet(niht kompl- datei) angelegt?

wenn du in access eine abfrage auswählst, kannst du bei ansicht im menü auf die sql-ansicht wechseln - das ist der abfrage-code, den wir für excel benötigen(ohne anführungszeichen und ohne strichpunkt am schluss)

kommst du soweit mit?

viele grüße

oliver


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
27.07.2005 15:19:53 Assunta
NotSolved
27.07.2005 23:37:45 Oliver
NotSolved
28.07.2005 08:46:12 Assunta
NotSolved
28.07.2005 14:08:38 Oliver
NotSolved
29.07.2005 09:34:46 Assunta
NotSolved
Blau daten in access automatisch in excel
29.07.2005 19:58:48 Oliver
NotSolved
02.08.2005 09:38:22 Assunta
NotSolved
08.08.2005 14:03:03 Assunta
NotSolved
26.08.2005 13:51:32 Rasta
NotSolved