excel celler afgør forespørgslen
Hejkoden er nederst
som koden viser så afhænger forespørgslen af hvad der er tastet ind i celle a1 og b1 i excel. a1 er forskellige navne, men der skrives kun i a1 og IKKE a2, a3 osv.
men nogle gange kan man også taste ind i b2,b3,b4 osv. og så skal forespørgslen også hente fra dem (det er datoer) men hvordan gør jeg så forespørgslen reagere på om der er tastet ind i de celler eller ej?
Sub datalejbase()
Dim pe As String
Dim af As String
af = Worksheets("ark2").Range("a1")
pe = Worksheets("ark2").Range("b2")
MsgBox pe
With Worksheets("ark1").QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=MS Access-database;DBQ=C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb;DefaultDir=C:\Program Files\Microso" _
), Array( _
"ft Office\OFFICE11\SAMPLES;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
)), Destination:=Worksheets("ark1").Range("A1"))
.CommandText = Array( _
"SELECT Fakturaer.Modtagernavn, Fakturaer.Modtageradresse, Fakturaer.Modtagerby, Fakturaer.Modtagerområde, Fakturaer.Modtagerpostnr, Fakturaer.Modtagerland, Fakturaer.`Kunde-ID`, Fakturaer.Kunder.Firma" _
, _
"navn, Fakturaer.Adresse, Fakturaer.Bynavn, Fakturaer.Område, Fakturaer.Postnr, Fakturaer.Land, Fakturaer.Sælger, Fakturaer.Ordrenr, Fakturaer.Ordredato, Fakturaer.Leveringsdato, Fakturaer.Forsendelses" _
, _
"dato, Fakturaer.Speditionsfirmaer.Firmanavn, Fakturaer.Produktnr, Fakturaer.Produktnavn, Fakturaer.`Pris pr enhed`, Fakturaer.Antal, Fakturaer.Rabat, Fakturaer.Varetotal, Fakturaer.Fragtomkostninger" & Chr(13) & "" & Chr(10) & "" _
, _
"FROM `C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind`.Fakturaer Fakturaer" & Chr(13) & "" & Chr(10) & "WHERE (Fakturaer.Modtagerpostnr='" & af & "') AND (Fakturaer.Ordredato={ts '" & pe & "'})" _
)
.Name = "Forespørgsel fra MS Access-database"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Worksheets("Ark2").Range("H7").Select
Selection.Copy
Sheets("Ark1").Select
Range("E2:E43").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Sheets("Ark2").Select
End Sub