Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1596to1600
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

MySQL Abfrage mit Parameter aus Zelle

MySQL Abfrage mit Parameter aus Zelle
19.12.2017 13:33:51
Andreas
Hallo,
ich durchforste das weltweite Netz schon seit Tagen und irgendwie bekomme ich es einfach nicht hin, eine Datenbank mit einem Parameter abzufragen.
Folgendes will ich konkret tun:
* Es gibt einen MySQL-Server mit einer Datenbank/Tabelle mit den Spalten "Name" und "Wert"
* In Tabelle 1 trägt der Nutzer einen gesuchten Namen in die Zelle A2 ein: "TestName"
* Mit einer Abfrage wird nun dieser "TestName" in der Datenbank gesucht und der Messwert aus der Spalte "Wert" herausgezogen
* Das Ergebnis soll in die Zelle "A3" der Tabelle1 geschrieben werden.
Folgendes hab ich gemacht und funktioniert:
* Über PowerQuery habe ich die Datenbank verbunden und habe eine Abfrage mit erstellt:
SELECT * FROM `Datenbank`.`Tabelle` WHERE Name = TestName
Auf den MS-Seiten habe was mit Parametern gesehen, aber überhaupt nicht nachvollziehen können. Außerdem gibts bei Stackoverflow.com einen Eintrag, der mir leider auch nicht weiter geholfen hat.
Ich verstehe einfach nicht, wie ich in der Abfrage den Eintrag "TestName" durch den Inhalt der Zelle A2 der Tabelle1 eintragen kann.
Hoffe Ihr könnt mir helfen.
Viele Grüße
Andreas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MySQL Abfrage mit Parameter aus Zelle
19.12.2017 13:41:51
ede
Hallo Andreas,
ich vermute mal, du musst den Inhalt der Zelle in ' angeben:
... Name = 'TestName';
Gruss
ede
AW: MySQL Abfrage mit Parameter aus Zelle
19.12.2017 13:56:21
Andreas
Hallo,
vielen Dank für die schnelle Antwort. Ich glaub' ich bin schon einen Schritt weiter, da nun keine Fehlermeldung ausgespuckt wird. Allerdings wird noch kein Wert zurückgegeben.
In der Anfrage steht nun folgendes:
Quelle = MySQL.Database("10.xxx.xxx.xxx", "Datenbank", [ReturnSingleDatabase=true, Query="SELECT * FROM `Datenbank`.`Tabelle` WHERE Name = 'Tabelle1$A2'", CreateNavigationProperties=false])
AW: MySQL Abfrage mit Parameter aus Zelle
19.12.2017 14:01:20
ede
dann braucht du ja nur noch den Inhalt der Zelle von 'Tabelle1$A2' einsetzten!
gruss
Anzeige
AW: MySQL Abfrage mit Parameter aus Zelle
19.12.2017 14:06:07
Andreas
Ja genau das ist gerade das Problem! Beim SQL-Server kommt anstelle des Inhalts der Zelle genau dieser String an
Also:
SELECT * FROM `Datenbank`.`Tabelle` WHERE Name = 'Tabelle1$A2'
es müsste aber eigentlich so heißen. (In Tabelle1$A2 steht "TestName")
SELECT * FROM `Datenbank`.`Tabelle` WHERE Name = TestName
AW: MySQL Abfrage mit Parameter aus Zelle
19.12.2017 14:12:36
ede
man sieht ja nicht wie du den SQL-String zusammensetzt, aber versuch mal so, wobei in der Variablen sqlString vorher schon alles bis Name = stehen muss:
sqlString = sglString & "'" & Tabelle1.Cells(2, 1) & "'"
gruss
AW: MySQL Abfrage mit Parameter aus Zelle
20.12.2017 07:48:05
Andreas
Also ohne VBA bekomme ich das irgendwie nicht hin. Habe mir nun ein paar Zeilen geschrieben, die natürlich nicht gunktionieren... *grummel*
Also ich habe über Power Query eine Abfrage erstellt:
Power Query => Aus Datenbank => MySQL

=> Server: xxx.xxx.xxx.xxx
=> Datenbank: Datenbank
=> Erweiterte Optionen => SQL Anweisung
SELECT * FROM `Datenbank`.`Tabelle` WHERE Name = abc
=> Laden in: Tabelle1 $A$5
Nun will ich diese Abfrage mit dem Wert aus B2 aktualisieren.
VBA-Editor: Worksheet, Change

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
With ActiveWorkbook.Connections("Abfrage1").OLEDBConnection
.CommandType = xlCmdSql
.CommandText = "SELECT * FROM `Datenbank`.`Tabelle` WHERE Name = '" & Range("B1").Value & "' _
End With
ActiveWorkbook.Connections("Abfrage1").Refresh
End If
End Sub
Als Fehlermeldung erhalte ich Laufzeitfehler '9'. Index außerhalb des gütligen Bereichs. Im Debugger springt der Cursor zum Eintrag "With ActiveWorkbook.Connections("Abfrage1").OLEDBConnection"
Anzeige
AW: MySQL Abfrage mit Parameter aus Zelle
20.12.2017 10:27:32
ede
Hallo nochmal,
da kann ich dir dann auch nicht mehr weiterhelfen, stimmt dein Name "Abfrage1" der Verbindung?
Sub check_cConnections()
Dim xConnect As Object
For Each xConnect In ActiveWorkbook.Connections
MsgBox xConnect.Name & vbCr & xConnect.OLEDBConnection.CommandText
Next xConnect
End Sub

22 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige