vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: SQL Anweisung 
Autor: Zero-G.
Datum: 23.06.04 10:02

Also erstens mal hoffe ich, dass wir uns auf Du einigen können !

Ich werde hier mal versuchen Grundlagen zu vermitteln. SQL ist nämlich ein sehr mächtiges Tool, dass zur kompletten DB-Administration bentuzt wird. Ich werde mal versuchen anhand Deines Problems Dir zu zeigen, wie man so etwas auf SQL ummünzt.

Das SQL-Statement schreibst Du ganz normal als String also z.B.

SQL= "Selcect * from Tab" - Dieser String würde bei der Übergabe an Dein ADO alle Felder der Tabelle Tab auslesen.

Zur Abfrage benutzt man immer Select. - Danach folgt die Auflistung der Spalten - danach ein from und dann gibst Du die Tabelle ein, wo diese Spalten enthalten sind.
Bsp:
Du hast eine Tabelle die heißt Kunden in dieser Tabelle sind 3 Spalten gespeichert. 1. Spalte: Vorname 2. Spalte Nachname 3. Spalte Adresse. Wir wollen jetzt nur alle Nachnamen und Adressen aus dieser Tabelle auslesen. Die Vornamen interessieren uns also nicht. Somit wäre der SQL String wie folgt:
SQL = "Select Nachname, Adresse from Kunden"
Jetzt wollen wir auch noch diese Auswahl einschränken. Wir wollen nur alle Kunden, deren Vorname Jürgen ist. Von denen wollen wir aber auch den Nachnamen und die Adresse.
SQL = "Select * from Kunden where Vorname='Jürgen'"
Und jetzt haben wir eine Form, auf der ein Textfeld liegt (txtVName). - In dieses Textfeld geben wir einen Vornamen ein. - Nach dem in der DB gesucht werden soll. Also wäre dann der SQL String wie folgt:
SQL= "Select * from Kunden where Vorname='" & txtVName.Text & "'"
Also: Alle Begränzungen (wie in unserem Fall Jürgen) müssen mit einem Hochkomma begrenzt werden.

Gut - Ich hoffe mal, dass es soweit mal klar ist. - Jetzt gehen wir auf Dein etwas spezielleres Problem ein:

Also wir nehmen jetzt gleich wieder unser Beispiel her. - Wir wollen also alle Kunden finden, die irgendwo im Nachnamen den Wortteil en haben also z.B. Flausenkopf....

Somit wäre unser SQL - Statement wie folgt:
SQL="Select * from Kunden where Nachname like '%en%'"
Das like steht hier für ähnlich z.B. findet like mit der Angabe 'en' auch 'EN' wärend das = nur 'en' findet.

So weit so gut (hoff ich halt) - So und jetzt muss man natürlich unsere Variable SQL noch an die DB schicken:

Diesbezüglich habe ich mir eine Public Sub geschrieben, die wie folgt aussieht:
Public Sub Auswahl(SQL As String)
    Set Sel = New ADODB.Recordset
    With Sel
        .Open SQL, cnDatenbank, adOpenDynamic, adLockOptimistic
    End With
End Sub
Man muss natürlich ganz am Anfang des Projekts auch noch das Sel als Public definieren:
Public Sel             As ADODB.Recordset
In der Sub Anweisung findet sich der Befehl
Set Sel = New ADODB.Recordset
Das bewirkt, dass bei jeder neuen Abfrage vorher die alten Daten aus der Variable gelöscht werden.

danach kann man natürlich im Programm alle Angaben über das Sel Objekt abfragen

SQL = "Select Nachname, Adresse from Kunden"
 
Auswahl(SQL)
 
txtNachname.Text = Sel.Fields("Nachname").Value
txtAdresse.Text = Sel.Fields("Adresse").Value
Natürlich kann man dann auch noch Sel.MoveNext - hüpft dann zum nächsten usw....

Hoffe ich hab Dir mal einen kleinen Überblick geben können - Sag mir doch bescheid, ob Du es jetzt etwas verstanden hast. - mfg Bis bald
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SQL Anweisung397AnGe-Programmie...22.06.04 12:57
Re: SQL Anweisung250Zero-G.22.06.04 15:16
Re: SQL Anweisung243AnGe-Programmie...22.06.04 22:02
Re: SQL Anweisung241Zero-G.23.06.04 10:02
Re: SQL Anweisung232AnGe-Programmie...23.06.04 12:57
Re: SQL Anweisung242Zero-G.23.06.04 13:20

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel