| |

Fortgeschrittene ProgrammierungRe: access dbase | |  | Autor: Wolfgang | Datum: 17.11.01 16:05 |
| das ist der code
Private Function Copy_AccessToDBase(ByVal FilenameAccess As String, _
ByVal TabNameAccess As String, ByVal FilenameDBase As _
String, Optional ByVal DeleteIfExists As Boolean = True) As Boolean
Dim dbDBase As Database
Dim TabDBase As Recordset
Dim dbAccess As Database
Dim TabAccess As Recordset
Dim PathDBase As String
Dim NameDBase As String
Dim TabDef As New TableDef
Dim Feld As New Field
Dim I As Integer
Dim Dummy As String
Dim AccessFeld As Field
PathDBase = Left$(FilenameDBase, _
InStrRev(FilenameDBase, "\") - 1)
NameDBase = Mid$(FilenameDBase, Len(PathDBase) + 2)
NameDBase = Left$(NameDBase, InStrRev(NameDBase, ".") - 1)
On Local Error GoTo Copy_Access_Error
' Prüfen, ob dBASE-Datei bereits vorhanden
If Dir$(FilenameDBase, vbNormal) <> "" Then
If Not DeleteIfExists Then
Copy_AccessToDBase = False
Exit Function
End If
Kill FilenameDBase
End If
' dBASE-Datei erstellen
Set dbDBase = Workspaces(0).OpenDatabase(PathDBase, _
False, False, "dBASE IV;")
' Access-Datenbank öffnen
Set dbAccess = Workspaces(0).OpenDatabase(FilenameAccess)
Set TabAccess = dbAccess.OpenRecordset(TabNameAccess)
' Tabellen-Definition übertragen
TabDef.Name = NameDBase
For Each AccessFeld In TabAccess.Fields
With AccessFeld
Feld.Name = .Name
Feld.Type = .Type
Select Case .Type
Case dbMemo
Feld.AllowZeroLength = .AllowZeroLength
Case dbText
Feld.Size = IIf(.Size >= 255, 254, .Size)
Feld.AllowZeroLength = .AllowZeroLength
End Select
Feld.Attributes = .Attributes
Feld.DefaultValue = .DefaultValue
Feld.Required = .Required
End With
TabDef.Fields.Append Feld
Set Feld = Nothing
Next
dbDBase.TableDefs.Append TabDef
' DBase-Tabelle öffnen
Set TabDBase = dbDBase.OpenRecordset(NameDBase)
' Datensätze übertragen
While Not TabAccess.EOF
TabDBase.AddNew
For I = 0 To TabAccess.Fields.Count - 1
TabDBase(I) = TabAccess(I)
Next I
TabDBase.Update
TabAccess.MoveNext
Wend
Copy_AccessToDBase = True
Copy_Access_End:
On Local Error Resume Next
TabDBase.Close: dbDBase.Close
TabAccess.Close: dbAccess.Close
On Local Error GoTo 0
Exit Function
Copy_Access_Error:
MsgBox "Fehler !!!" & vbCrLf & Err.Number & _
" " & Err.Description, 16, "FEHLER..."
Copy_AccessToDBase = False
Resume Copy_Access_End
End Function
Aufruf erfolgt durch
verweis auf ado control 3.6
Copy_AccessToDBase "C:myAccessAdressen.mdb", _
"Adresse", "C:myDBaseAdressen.dbf", True |  |
 | 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 |
  |
|
Neu! sevEingabe 3.0 
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox 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.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere 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
|
|