Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1684to1688
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten in MySQL schreiben

Daten in MySQL schreiben
18.04.2019 16:08:45
Alex
Hallo,
kann mir Bitte jemand den Code umschreiben dass er anstatt in Access die Daten an MySQL sendet ? Danke
Sub Daten_nach_Transfer()
Dim wksPlan As Worksheet, wksTransfer As Worksheet
Dim zeiP As Long, spaP As Long
Dim zeiPL As Long, spaPL As Long
Dim zeiT As Long
Dim sSchicht As String, datDatum As Date
Dim StatusCalc As Long
Const zeiStart = 3 '1. Zeile in die Transferdaten eingetragenn werden sollen
Set wksPlan = ActiveWorkbook.Worksheets("Personalplanung")
Set wksTransfer = ActiveWorkbook.Worksheets("DB_Transfer")
'Makrobremsen lösen
With Application
.ScreenUpdating = False
.EnableEvents = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
End With
With wksTransfer
'Alte daten im Blatt Transfer löschen
zeiT = .Cells(.Rows.Count, 1).End(xlUp).Row
If zeiT >= zeiStart Then
.Range(.Cells(zeiStart, 1), .Cells(zeiT, 6)).ClearContents
End If
zeiT = zeiStart - 1
End With
With wksPlan
'letzte Zeile mit Daten in Spalte H
zeiPL = .Cells(.Rows.Count, 8).End(xlUp).Row
'letzte Spalte mit Mitarbiter-Zuordnung zu Anlage
spaPL = .Range("BE11").Column
sSchicht = .Range("AJ8").Value
datDatum = .Range("AJ6").Value
For spaP = 8 To spaPL Step 7
For zeiP = 11 To zeiPL Step 4
If .Cells(zeiP, spaP).Offset(1, 0).Value  "" Then
zeiT = zeiT + 1
wksTransfer.Cells(zeiT, 1) = sSchicht
wksTransfer.Cells(zeiT, 2) = datDatum
wksTransfer.Cells(zeiT, 3) = .Cells(zeiP, spaP).Offset(1, 3).Value 'Anlage
wksTransfer.Cells(zeiT, 5) = .Cells(zeiP, spaP).Offset(1, 0).Value 'MA
wksTransfer.Cells(zeiT, 6) = .Cells(zeiP, spaP).Offset(1, 1).Value 'Zeit
wksTransfer.Cells(zeiT, 7) = Now
End If
If .Cells(zeiP, spaP).Offset(2, 0).Value  "" Then
zeiT = zeiT + 1
wksTransfer.Cells(zeiT, 1) = sSchicht
wksTransfer.Cells(zeiT, 2) = datDatum
wksTransfer.Cells(zeiT, 3) = .Cells(zeiP, spaP).Offset(2, 3).Value 'Anlage
wksTransfer.Cells(zeiT, 5) = .Cells(zeiP, spaP).Offset(2, 0).Value 'MA
wksTransfer.Cells(zeiT, 6) = .Cells(zeiP, spaP).Offset(2, 1).Value 'Zeit
wksTransfer.Cells(zeiT, 7) = Now
End If
Next
Next
End With
Call DatenInAccessDB
Call Makro7
'Makrobremsen zurücksetzen
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = StatusCalc
End With
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in MySQL schreiben
19.04.2019 10:03:37
Alex
Falscher Code sorry das war der Code für die Übertragung an Access
Sub DatenInAccessDB()
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
Range("B22") = Now
Dim MsgText As String
Dim db As DAO.Database, rs As DAO.Recordset, SQL As String
Dim zeile As Long
On Error GoTo Err_Handler
If WorksheetFunction.CountIf(Worksheets("ErfassungEinstätze").Columns("C:C"), Date) = 0 Then
sDataBaseFile = Worksheets("Setting").Cells(2, 3).Value
SQL = "Select * From " & Worksheets("Setting").Cells(2, 4).Value & " Where ID Is Null;"
Set db = OpenDatabase(sDataBaseFile)
zeile = 3
While Worksheets("DB_Transfer").Cells(zeile, 1).Value  ""
SQL = "Select * From " & Worksheets("Setting").Cells(2, 4).Value _
& " Where ID Is Null;"
Set rs = db.OpenRecordset(SQL)
With rs
.AddNew
For i = 1 To Worksheets("Setting").Cells(2, 5).Value
.Fields(Worksheets("DB_Transfer").Cells(2, i).Value) = _
Worksheets("DB_Transfer").Cells(zeile, i).Value
Next
.Fields("Frei20") = Worksheets("DB_Transfer").Cells(zeile, 25).Value
.Update
End With
Worksheets("PERSONALPLANUNG").Cells(22, 2).Interior.Color = RGB(0, 255, 128)
rs.Close
zeile = zeile + 1
Wend
Worksheets("DB_Transfer").Rows("3:" & zeile).Delete Shift:=xlUp
db.Close
Else
Beep
MsgBox "Datentransfer für den " & Date & " ist schon erfolgt.", Buttons:=vbInformation
End If
End_Handler:
Set rs = Nothing
Set db = Nothing
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
Call Makro7    '?
save
Exit Sub
Err_Handler:
Worksheets("DB_Transfer").Cells(1, 1).Interior.Color = RGB(204, 0, 0)
msgNetzwerkfehler
Resume End_Handler
End Sub

Das habe ich jetzt noch gefunden um eine Verbindung mit SQL zu bekommen:
Dim ConnectionString As String
Dim Server As String
Dim User As String
Dim Pwd As String
Dim DatabaseName As String
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
' Server Hostname (or IP)
Server = "acer" '"192.168.0.3" '"localhost"
User = "benutzer"
Pwd = "passwort"
DatabaseName = "datenbankname"
ConnectionString = "Provider=MSDASQL;Driver=MySQL ODBC 3.51 Driver;" & _
"Server=" & Server & ";Database=" & DatabaseName
Set Cn = New ADODB.Connection
Cn.CursorLocation = adUseClient
Cn.Mode = adModeShareDenyNone
Cn.Open ConnectionString, User, Pwd
Wie bekomme ich die beiden Codes nun zusammen ?
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige