Jag har lyckats göra en koppling, men den är inte så bra. Man får resultatet i en cell och inte i en variabel.Hur skapar man en ODBC koppling från Excel 6 (VB)
Om du har en bättre lösning på problemet så hör gärna av dig!
Function getStn(Stn As String) As String
Dim sql As String
Dim first As Boolean
Dim position As Integer
Dim length As Integer
Dim strConn As String
strConn = "ODBC;DSN=***;Description=***;UID=***;PWD=***;APP=Microsoft® Query;WSID=***"
position = 1
length = Len(Stn)
Stn = LCase(Stn)
first = True
While getStn = ""
If Not first Then
Do
char = Mid(Stn, position, 1)
position = position + 1
Loop While char <> "a" And char <> "o" And position <= length
Stn = Mid(Stn, 1, position)
sql = "SELECT chStationssign FROM Station WHERE vcStationsnamn LIKE '" + Stn + "%'"
Else
sql = "SELECT chStationssign FROM Station WHERE vcStationsnamn = '" + Stn + "'"
End If
With ActiveSheet.QueryTables.Add(Connection:= strConn , Destination:=Cells(1, 1))
.CommandText = sql
.Name = "Fråga från fdb_7"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = False
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
getStn = Cells(1, 1)
first = False
Wend
End Function