# VB + MySQL Abfragen



## LaBouche (27. Juli 2004)

Hallo Leute,

ich soll eine Application in VB erstellen, den es dem Endanwender ermöglicht eigenständig mit Hilfe von MySQL spezifische Abfragen erstellenkann.
Die Verbindung zur Datenbank besteht.
Mein Größtes Problem ist, da ich Anfänger bin, wie ich ihm sage , dass
ich die 
SELECT * FROM Tabellenname WHERE Spaltennamen  Operator ;
mit in VB einarbeiten will und dabei ComboBbox Felder benutzen soll.

Es wäre nett wenn mir jemand einen Tip geben könnte!
Danke schon mal im Voraus.


----------



## Sonie (27. Juli 2004)

*Ein kleines Codebeispiel...*

Hi. Ich hab hier ein paar Zeilen aus einem meiner Proggis dazu rauskopiert, ich hoffe, das hilft.


```
Option Explicit

Type AnmeldungRecSet
  Benutzer As String
  Password As String
  server As String
  Database As String
End Type

Public sql As ADODB.Connection 'Recordset für SQL anlegen
Public rcdSet As ADODB.Recordset
'sonstige Variablen
Public Anmeldung As AnmeldungRecSet

Sub Main()
  ' Variablen installieren
    
  Set sql = New ADODB.Connection   'Öffne Verbindung mySQL

  sql.CursorLocation = adUseClient

   With Anmeldung  'Daten einlesen aus den Settings
    .Benutzer = "Sonie"
    .Password = "myPassword"
    .Database = "mySqlTable"
    .server = "mySqlServer"
  end with

  sql.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
    & "SERVER=" + Anmeldung.server_
    & ";DATABASE=" + Anmeldung.Database _
    & ";UID=" + Anmeldung.Benutzer _
    & ";PWD=" + Anmeldung.Password_
    & ";OPTION=" & 1 + 2 + 8 + 32 + 2048 + 16384

  sql.ConnectionTimeout = 30
  sql.Open
  
End Sub
```

Du muss dazu von der mySQL.de Website den ODBC-Connector für Windows runterladen und installieren.

Danach steht dir die DB als RecordSET zur Verfügung...
Such mal nach "Combo", dort steht auch ein Beispiel für Record-Set mit Combo drinnen.


----------



## LaBouche (27. Juli 2004)

Ersteinmal vielen DANK für die schnelle Anteilnahme! 

Aber ich habe mich wohl ein wenig falsch ausgedrückt.
Also, die Verbindung  zwischen der Datenbank besteht.
Und ein SELECT * FROM Tabellenname kann ich auch
schon mit meiner Aplikation durchführen.
Mein Problem ist, dass über Comboboxen einzelheiten aus 
der Tabelle erfragen soll, da dort tausende von Datensätzen
enthalten sind und es zu lange dauern würde, dies komplett
anzuzeigen.
Mit SELECT * FROM Tabellenname WHERE...... soll es ermöglicht
werden die ausgewählte Tabelle für den USER spezifisch auszulesen.
Und mein Prob ist halt das ich nicht weiß wie ich es machen
kann, dass in einem cboFeld diese Abfrage durchführen kann:
SELECT * FROM Tabellenname WHERE...... 

LaBouche


----------



## Sonie (31. Juli 2004)

LaBouche hat gesagt.:
			
		

> Aber ich habe mich wohl ein wenig falsch ausgedrückt.


ja hast du!


> Mit SELECT * FROM Tabellenname WHERE...... soll es ermöglicht
> werden die ausgewählte Tabelle für den USER spezifisch auszulesen.
> Und mein Prob ist halt das ich nicht weiß wie ich es machen
> kann, dass in einem cboFeld diese Abfrage durchführen kann:
> ...



Ja. Das ist ein Query, den du generieren möchtest. 

Wenn du da etwas kongreter werden könntest, könnt ich dir evt. einen Tipp geben.

Wenn du es selber ausprobieren möchtest, so am Rande vieleicht folgenden Ratschlag: 

Neue FORM -> DATA-Object hinzufügen, und in den Eigenschaften-Dialog auf die DB einrichten -> CTRL-T  -> Microsoft DataList-Control 6.0 (SP3) hinzufügen -> auf die Form . Unter Eigenschaften -> Datasource das DATA-Element asuwählen und unter DataField das gewünschte Datenfeld...


----------

