Jeg har en stor udfordring med SQL og Excel. Jeg er ved at lave en makro, som henter data fra en SQL server, når der tastes i en række celler. Makroen ser således ud:
Range("C3").Select With Selection.QueryTable
.CommandText = "SELECT Chainname, Productid, Productname, Astatus FROM v_AsortmentOverview WHERE BusinessUnit < 'DK05' and (Astatus = 'G' or Astatus = 'V') and Productid =" & Range("Unit1").Value
.Refresh BackgroundQuery:=False End With
Alt sammen fungerer ganske udemærket. Det jeg ønsker at koble på er endnu en range i Productid (faktisk 10 ranges mere). Men hvis jeg skriver Productid =" & Range("Unit2").Value vil den ikke godtage det. Hvad gør jeg galt og hvad skal jeg skrive i stedet ?
Ikke i "det uendelige" da du på et tidspunkt rammer en max-længde på din sql query, og inden da bør du nok overveje en anden logik til udvælgelsen.
Hvis du vil bygge den op som du har gjort indtil nu kan du sætte parenteser sådan her: and ( Productid =" & Range("Unit1").Value & " or Productid =" & Range("Unit2").Value & " )"
Men ellers så prøv at se på IN operatoren
and productid IN ("& Range("Unit1").Value &","& Range("Unit2").Value &","& Range("Unit3").Value &","& Range("Unit4").Value &")"
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.