vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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

VB & Datenbanken
Re: Abfrage bei leerer DB 
Autor: Franki
Datum: 15.04.11 03:21

Hallo,


Zitat:


Ich galube ich kapier nicht, was du mit Recordset.Open meinst.
Ich erstelle ein Recordset
Set objRecordset =
CreateObject("ADODB.Recordset")



Du brauchst bei ADO zuerst eine Verbindung zur Datenbank
Dann erst kommt das Recordset ins Spiel, und dann erst die SQL Abfrage.

Vereinfachtes Beispiel:

Dim con As ADODB.Connection
Dim rec As ADODB.Recordset
Private Sub Form_Load()
 
Set con = New ADODB.Connection
With con
    .CursorLocation = adUseClient
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .Properties("Data Source") = "Deine Datenbank inkl. Verzeichnis"
    .Open
End With
 
Set rec = New ADODB.Recordset
Sql = "Select * From Tabelle Where ID > 0"
rec.Open Sql, con, adOpenKeyset, adLockReadOnly
 
While Not rec.EOF
    Irgendwas = rec.Fields("ID")
    ' Hier was machen mit dem Wert, in Tabelle, Grid oder sonst was speichern 
    ' und sei es
    MsgBox Irgendwas
    rec.MoveNext
Wend
rec.Close
con.Close
Set rec = Nothing
Set con = Nothing
Zitat:


und ein command Objekt

Welches du ja gar nicht brauchst.

Zitat:


Wenn auf nicht vorhandene Daten zugegriffen wird, bleibt mein
Recordset leer und Excel stürzt ab.
Mit dem WHERE Zusatz bleibt das Recordset einfach leer.
Allerdings dauert das wie gesagt sehr lange, wenn doch Daten
vorhanden sind.


Dann hast du deine Where Bedingung falsch.
Aber ob ein Recordset Daten enthält kannst du doch prüfen.

If rec.RecordCount = 0 Then

Bzw. mit dem While NOT rec.EOF...Wend...rec.Movenext durchläufst du doch auch nur die Daten die darin enthalten sind nach der Abfrage.

Zitat:


In wie weit ich da jetzt etwas umstellen sollte, verstehe ich
nicht, da reicht meine Erfahrung in der ganzen Geschichte
wohl nicht.


Dich mit den Grundlagen zu beschäftigen wäre ein erster Anfang.
Also jetzt nicht vom Code her, sondern vom Verständnis her, das ist der wichtigere Teil.

Gruß,
Frank
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Abfrage bei leerer DB2.102hando081511.04.11 14:56
Re: Abfrage bei leerer DB1.529wb-soft11.04.11 19:51
Re: Abfrage bei leerer DB1.712hando081512.04.11 08:58
GELÖST: Abfrage bei leerer DB1.404hando081512.04.11 13:54
Re: GELÖST: Abfrage bei leerer DB1.388Franki13.04.11 02:55
Re: GELÖST: Abfrage bei leerer DB1.396hando081513.04.11 14:36
Re: GELÖST: Abfrage bei leerer DB1.404Franki15.04.11 02:52
Re: Abfrage bei leerer DB1.361wb-soft13.04.11 15:38
Re: Abfrage bei leerer DB1.408hando081513.04.11 16:42
Re: Abfrage bei leerer DB1.366Franki15.04.11 03:21
Re: Abfrage bei leerer DB1.406hando081515.04.11 09:53
Re: Abfrage bei leerer DB1.352Franki16.04.11 04:28
Re: Abfrage bei leerer DB1.388hando081518.04.11 08:27
Re: Abfrage bei leerer DB1.337wb-soft14.04.11 15:13
Re: Abfrage bei leerer DB1.337wb-soft18.04.11 09:56

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