vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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: Gelöschte zellen in Anzeige weglassen 
Autor: Caddy
Datum: 10.12.03 05:02

Hall Dieter,

Das mit em Refresh habe ich schon versucht. Das hilft alles nichts. Es handelt sich um folgenden Quelltext. Er ist etwas umständlich (für Verbesserungsvorschläge wär ich dankbar) :
Private Sub MnDelete_Click()
SQL1 = "SELECT * FROM Ausleihe Where Nr=" & ID
Set Tabelle1 = Db.OpenRecordset(SQL1)
Tabelle1.Edit
  Tabelle1("Bis") = Date
  Tabelle1.Update
Set D = CreateObject("scripting.filesystemobject")
  BatDatei = App.Path + "\ausleihe.txt"
  If D.FileExists(BatDatei) Then
  Set File = D.OpenTextFile(BatDatei, 8)
  Else
  Set File = D.CreateTextFile(BatDatei)
  End If
 
 While Not Tabelle1.EOF
    If ID > 100 Then
    erg = Tabelle1("Nr") & "     " & Tabelle1("Titel") & Space(55 - Len( _
      Tabelle1("Titel"))) & Tabelle1("Name") & Space(20 - Len(Tabelle1( _
      "Name"))) & Tabelle1("Am") & Space(12 - Len(Tabelle1("Am"))) & Tabelle1( _
      "Bis")
    ElseIf ID > 10 Then
    erg = " " & Tabelle1("Nr") & "     " & Tabelle1("Titel") & Space(55 - Len( _
      Tabelle1("Titel"))) & Tabelle1("Name") & Space(20 - Len(Tabelle1( _
      "Name"))) & Tabelle1("Am") & Space(12 - Len(Tabelle1("Am"))) & Tabelle1( _
      "Bis")
    Else
    erg = "  " & Tabelle1("Nr") & "     " & Tabelle1("Titel") & Space(55 - Len( _
      Tabelle1("Titel"))) & Tabelle1("Name") & Space(20 - Len(Tabelle1( _
      "Name"))) & Tabelle1("Am") & Space(12 - Len(Tabelle1("Am"))) & Tabelle1( _
      "Bis")
    End If
    File.WriteLine (erg)
    Tabelle1.Delete
    Tabelle1.MoveNext
  Wend
File.Close
 
SQL = "Select * From Ausleihe where Name= '" & cmbName.Text & "'"
Set Tabelle = Db.OpenRecordset(SQL)
 
 If Tabelle.RecordCount = 0 Then
 MsgBox "Hurra"
 AusleihList.cmbName.Clear
 
SQL = "SELECT Name FROM Ausleihe order by Name "
Set Tabelle1 = Db.OpenRecordset(SQL)
 
If Tabelle1.RecordCount > 0 Then
  While Not Tabelle1.EOF
    If Tabelle1("Name") = Name Then
    Else
        AusleihList.cmbName.AddItem Tabelle1("Name")
    End If
    Name = Tabelle1("Name")
    Tabelle1.MoveNext
  Wend
End If
 
AusleihList.MSFlexGrid1.Visible = False
 End If
 
AusleihList.Data1.Refresh
 
End Sub
Der Code soll nichts anderes machen, als aus einem MSFlexGrid eine Zeile entfernen und vorher in eine Text-Datei schreiben. Er löscht auch den Datensatz und schreibt ihn in die Datei. Doch er zeigt mir danach immer noch das selbe MSFlexgrid an, sprich der gelöchte Datensatz ist noch in der Tabelle enthalten. Der Rest in der Form wird aktualisiert. Für das Labelfeld ist der Datensatz gelöscht.

Manchmal kommt es vor, das er auch die Anzeige des Flexgrids aktualisiert, doch nur sporadisch. Wenn es darum geht den letzten Datensatz zu löschen führt er den ganzen Code aus, sonst eben nur sporadisch.

Was mach ich denn nur falsch?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Gelöschte zellen in Anzeige weglassen357Caddy09.12.03 23:33
Re: Gelöschte zellen in Anzeige weglassen278ModeratorDieter09.12.03 23:34
Re: Gelöschte zellen in Anzeige weglassen279Caddy10.12.03 05:02

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