vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB & Datenbanken
Problem mit ADO 
Autor: firemike
Datum: 24.08.06 18:22

Hallo,
in meinem Programm rufe ich folgenden Code auf um ein Datagrid zu füllen.
Das Ganze funzt acuh wunderbar, bis auf ein kleinens Problem:

Klicke ich beim 1. mal auf die Combobox, wird das Datagrid gefüllt.

Beim 2. Klick (andere Auswahl) bekomme ich den Fehler:

Laufzeitfehler: 3705
Dieser Vorgang ist für ein geöffnetes Objekt nicht zugelassen.

Logisch, das Recordset ist ja noch geöffnet, nur wenn ich das Recordset am schluss des Codes schliesse, dann wird mir im Datagrid nichts mehr angezeigt.

Wie kann ich das ändern ????

Hier der Code:
Private Sub cb_auftrag_Click()
 
Dim SQL As String
Dim Gesamtstd As Long
Dim Gesamtmin As Long
Dim Gespreis As Long
Dim Nr As String
 
'Recordset öffnen
   oRs.Open "select * from Auftrag order by auftragnr", Conn, adOpenStatic, _
     adLockOptimistic
 
    oRs.Move cb_auftrag.ListIndex
    lbl_Auftragsnummer.Caption = oRs("auftragnr")
    lbl_kunde.Caption = oRs("kunde")
 
oRs.Close
 
Nr = lbl_Auftragsnummer.Caption
 
SQL = "SELECT SUM(Stunden) AS [Std], Sum(Minuten) AS [Min], Sum(gesamtpreis) as" & _
  "[Gesamtpreis] FROM Zeiterfassung where Auftragsnr = '" & Nr & "'"
 
oRs.Open SQL
 
If oRs.RecordCount = 0 Then
oRs.Close
Me.cb_auftrag.Enabled = False
Exit Sub
Else
Gesamtstd = oRs![std]
Gesamtmin = oRs![min]
Gespreis = oRs![gesamtpreis]
 
lbl_Std.Caption = Gesamtstd
lbl_min.Caption = Gesamtmin
lbl_gespreis.Caption = Gespreis
 
oRs.Close
End If
 
oRs.Open "Select * from zeiterfassung where Auftragsnr = '" & Nr & "'", Conn, _
  adOpenStatic, adLockOptimistic
 
' DataGrid mit dem Inhalt des Recordsets füllen
  With DataGrid1
    ' Titel der Tabelle
    '.Caption = "Auftrags Details"
 
    ' Datenanbindung
    Set .DataSource = oRs
 
    ' Spaltenbreiten
    '.Columns(0).Width = 500
    '.Columns(1).Width = 1000
 
    .Columns(2).Width = 1000
    .Columns(3).Width = 1000
    .Columns(4).Width = 1000
    .Columns(5).Width = 1000
    .Columns(6).Width = 1000
    .Columns(7).Width = 1000
    .Columns(8).Width = 1000
 
 
    ' Spaltesichtbarkeit
    .Columns(0).Visible = False
    .Columns(1).Visible = False
 
  End With
  'oRs.close  wenn das am ende steht wird nichts im Datagrid angezeigt.
Lass ich es weg füllt sich das Datagrid, aber ich bekomme den Laufzeitfehler
 
End Sub
DAnke und Grüsse Mike
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem mit ADO1.228firemike24.08.06 18:22
HAt sich erledigt761firemike25.08.06 00:50

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-2024 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