Schön war's ganz früher mit "copy stru" und fertig!
Mein VB6-Proggis werden von den Schergen des Mr. Gates immer weiter abgeschaltet; hoffentlich hat VB2010 eine Zukunft...
Hier versuche ich, aus uralten FoxPro-Tabellen eine mdb zu schmieden, um wenigstens den datenpool ins neue Zeitalter zu retten...
Scheinbar klappt mein (laienhafter) Code; aber die scheinbar leere DB hat physikalisch immer noch die gleiche Größe auf der Festplatte wie als ich noch tausende Datensätze 'drin hatte. Kann mir da einer auf die Sprünge helfen?
Vielen Dank!
*Topic verschoben*
Mein VB6-Proggis werden von den Schergen des Mr. Gates immer weiter abgeschaltet; hoffentlich hat VB2010 eine Zukunft...
Hier versuche ich, aus uralten FoxPro-Tabellen eine mdb zu schmieden, um wenigstens den datenpool ins neue Zeitalter zu retten...
Scheinbar klappt mein (laienhafter) Code; aber die scheinbar leere DB hat physikalisch immer noch die gleiche Größe auf der Festplatte wie als ich noch tausende Datensätze 'drin hatte. Kann mir da einer auf die Sprünge helfen?
Vielen Dank!
VB.NET-Quellcode
- Imports System.Data.OleDb
- Public Class frmMain
- Dim zielcon As New OleDbConnection
- Dim zielcmd As New OleDbCommand
- Dim mySQL As String
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim QAnzahl As Integer, ZAnzahl As Integer
- ListBox1.Items.Clear()
- zielcon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\uLis Zeughaus\Verwaltung.mdb"
- zielcmd.Connection = zielcon
- zielcon.Open()
- zielcmd.CommandText = "SELECT COUNT (Knr) FROM Termine"
- QAnzahl = CInt(zielcmd.ExecuteScalar())
- zielcmd.CommandText = "DELETE * FROM Termine WHERE Knr > 0 "
- ZAnzahl = CInt(zielcmd.ExecuteScalar())
- ListBox1.Items.Add((QAnzahl - ZAnzahl).ToString("00000") & " Termine entfernt")
- zielcmd.CommandText = "SELECT COUNT (AnschriftZ1) FROM Anschriften"
- QAnzahl = CInt(zielcmd.ExecuteScalar())
- zielcmd.CommandText = "DELETE * FROM Anschriften WHERE AnschriftZ1 <> ''"
- ZAnzahl = CInt(zielcmd.ExecuteScalar())
- ListBox1.Items.Add((QAnzahl - ZAnzahl).ToString("00000") & " Fremdadressen entfernt")
- zielcmd.CommandText = "SELECT COUNT (BLZ) FROM Banken"
- QAnzahl = CInt(zielcmd.ExecuteScalar())
- zielcmd.CommandText = "DELETE * FROM Banken WHERE BLZ IS NOT NULL"
- ZAnzahl = CInt(zielcmd.ExecuteScalar())
- ListBox1.Items.Add((QAnzahl - ZAnzahl).ToString("00000") & " Banken entfernt")
- zielcmd.CommandText = "SELECT COUNT (Knr) FROM Kunden"
- QAnzahl = CInt(zielcmd.ExecuteScalar())
- zielcmd.CommandText = "DELETE * FROM Kunden WHERE Knr IS NOT NULL"
- ZAnzahl = CInt(zielcmd.ExecuteScalar())
- ListBox1.Items.Add((QAnzahl - ZAnzahl).ToString("00000") & " Kunden entfernt")
- zielcmd.CommandText = "SELECT COUNT (Ort) FROM Postleitzahlen"
- QAnzahl = CInt(zielcmd.ExecuteScalar())
- zielcmd.CommandText = "DELETE * FROM Postleitzahlen WHERE Ort IS NOT NULL"
- ZAnzahl = CInt(zielcmd.ExecuteScalar())
- ListBox1.Items.Add((QAnzahl - ZAnzahl).ToString("00000") & " Sätze Postleitzahlen entfernt")
- zielcmd.CommandText = "SELECT COUNT (Knr) FROM Verträge"
- QAnzahl = CInt(zielcmd.ExecuteScalar())
- zielcmd.CommandText = "DELETE * FROM Verträge WHERE Knr IS NOT NULL"
- ZAnzahl = CInt(zielcmd.ExecuteScalar())
- ListBox1.Items.Add((QAnzahl - ZAnzahl).ToString("00000") & " Datensätze Verträge entfernt")
- zielcmd.CommandText = "COMMIT"
- zielcon.Close()
- End Sub
- End Class
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()