| |

Visual-Basic EinsteigerRe: 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 |  |
 | 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 |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere Infos
|
|
|
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
|
|