Ønsker hjælp med VBA, Excel Access database, der skal laves om til MySQL
Nogle der kan gennemskues hvad der går galt her ?'Genererer global værdi for varenummer
Global VareNr As String
Public Sub Hent_Vare_Valg()
' Deklarerer variabler
Dim Sheetname, database_name, user_id, password As String
Dim sqlstr, sqlstr1 As String ' SQL to perform various actions
Dim Brugerdato, USDate, Username As String
Dim rs As ADODB.Recordset
Dim LastID As Integer
Dim MySearch, ComboName As String
Dim R As Integer
Dim Cn As ADODB.Connection
'----------------------------------------------------------------------
' Opretter forbindelse til database
server_name = "database.dk"
database_name = "database"
user_id = "brugernavn"
password = "kodeord"
'-------------------------------------------------------------------------
R = ActiveCell.Row
' Henter lokationen af databasen
' Bruger det aktuelle Ark til dataene
Sheetname = ActiveSheet.Name
'Spørger om varenummer
If VareNr = "" Then Exit Sub ' Valg kommer fra Formularen "Findvalg"
' Åbner database
Set Cn = New ADODB.Connection
Cn.Open "DRIVER={MySQL ODBC 3.51 Driver}" _
& ";SERVER=" & server_name & ";DATABASE=" & database_name _
& ";UID=" & user_id & ";PWD=" & password
Set rs = New ADODB.Recordset
' Søger i database, efter indtastede navn
StrSQL = "SELECT * From Varenumre WHERE ((Varenumre.Nummer) = '" & VareNr & "');"
rs.Open StrSQL, Cn, adOpenKeyset, adLockOptimistic, adCmdText
'Bruger records fra Fakturaer tabel "FakturaValg" til at indsætte på Excelark
rs.MoveFirst ' finder det første varenummer
With rs
Range("A" & R) = .Fields("Nummer")
Range("B" & R) = .Fields("Varetekst")
Range("I" & R) = .Fields("Varepris")
End With
'Afslutter og lukker pænt efter sig.
rs.Close
Set rs = Nothing
Cn.Close
Set Cn = Nothing
On Error Resume Next
' Bliver på aktuelt ark
Set CurrentChart = Sheets(Sheetname)
Sheets(Sheetname).Select
Range("A" & R + 1).Select
End Sub