26. august 2004 - 16:22
Der er
2 kommentarer
data fra variable Access tabeller
Hej!
Jeg har lavet en access database med 6 tabeller, som indeholder salgstal fra 6 lande.
Ved hjælp af en "Drop Down", vil jeg gerne have et VB script til at hente data fra det valgte land.
Jeg vil tro man kan lave det med en masse if sætninger, men kan man klare den med et variabelt tabel opkald?
på forhånd tak
26. august 2004 - 16:55
#1
Noget som det her
Sub GetData(vLand)
Dim stTabel As String
Select Case vLand
Case 1: stTabel = "tblDanmark"
Case 2: stTabel = "tblNorge"
Case 3: stTabel = "tblUSA"
Case 4: stTabel = "tblFrankring"
Case 5: stTabel = "tbcSverige"
Case 6: stTabel = "tblFinland"
Case Else:
End Select
' Exempel: ADOImportFromAccessTable "C:\FolderName\DataBaseName.mdb","TabelNavn", 1. celle for indsætning
ADOImportFromAccessTable "C:\MinDataBase.mdb", stTabel, Sheets("Ark2").Range("A1")
End Sub
Sub ADOImportFromAccessTable(DBFullName As String, _
TableName As String, TargetRange As Range)
Dim cn As ADODB.Connection, rs As ADODB.Recordset, intColIndex As Integer
Set TargetRange = TargetRange.Cells(1, 1)
' open the database
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
DBFullName & ";"
Set rs = New ADODB.Recordset
rs.Open TableName, cn, adOpenStatic, adLockOptimistic, adCmdTable
For intColIndex = 0 To rs.Fields.Count - 1 ' the field names
TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name
Next
TargetRange.Offset(1, 0).CopyFromRecordset rs ' the recordset data
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
23. september 2004 - 15:54
#2
Bak, beklager mit meget sene svar. Jeg havde helt glemt det, men skal stadig bruge det.
Jeg ved ikke hvordan jeg skal bruge det, hvor skal jeg smide de 2 makroer?