2016-07-14 21 views
0

Ich verwende die ADODB Funktion, um auf eine Datenbank in Access von Visual Basi c zuzugreifen. Der Zweck besteht darin, auf eine bestimmte Abfrage zuzugreifen, die Daten aus einer Zelle zu kopieren und sie in Excel einzufügen. Bis jetzt war ich in der Lage, die Überschrift der Abfrage zu erhalten, und die erste Zeile der Daten, aber nicht wissen, der Code benötigt, um die restlichen Informationen zu erhalten. Dies ist, was ich verwendet habe:Zugriff auf eine andere Position einer Datenbank in Access von Visual Basic - ADODB Verbindung

Dim Conjunto As New ADODB.Recordset Dim conexionBD As New ADODB.Connection

die Datenbank zu öffnen:

conexionBD.Open ConnectionString:="Provider = Microsoft.ACE.OLEDB.12.0; data source=" & BDatos

Der Code, der mir sowohl die Überschriften und die erste Zeile der Daten zu kopieren ist :

For i = 1 to 10 
    Cells(1,i).value = Conjunto.Fields(i).Name 
    Cells(2,i).value = Conjunto.Fields(i) 
Next i 

Bis zu diesem Moment funktioniert der Code perfekt. Ich bin so weit auf jeden Wert des Datensatzes zugreifen (aus der Datenbank in Access) sowohl aus den Überschriften (erste Zeile in für) und die erste Zeile (zweite Zeile). Aber ich weiß nicht, wie man die Informationen aus den folgenden Zeilen bekommt (die "Felder" Funktion gibt einen "Index" an, der in diesem Fall nichts länger als die Anzahl der Gesamtwerte in jedem verwenden lässt Reihe (10)).

Vielen Dank!

+0

Zeigen Sie Ihren gesamten Code - wenn Sie soweit arbeiten, müssen Sie einen OpenRecordset-Aufruf haben? Danach wickeln Sie Ihre For-Schleife in ein 'While not Conjunto.EOF'' Conjunto.MoveNext' und 'Wend'. Ich würde dies in eine Antwort bringen, aber Sie haben uns sehr wenig zur Verfügung gestellt – dbmitch

Antwort

2
'Headers 
For i = 1 to 10 
    Cells(1,i).value = Conjunto.Fields(i).Name 
Next i 

'Records 
r=2 
Do While Not Conjunto.EOF 
    For i = 1 to 10 
     Cells(r,i).value = Conjunto.Fields(i) 
     r=r+1 
    Next i 
    Conjunto.MoveNext 
Loop 

'or: 
Cells(2,1).CopyFromRecordset Conjunto