vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 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: Komplette Excel Tabelle in ACCESS 
Autor: unbekannt
Datum: 30.11.01 20:59

Hi Manu,

man kann es auch so machen:

Private Function CopyExclTab(Byval sTabName As String, _
                                                       Byval sWorkbookPfad As _
                                                       String, _
                                                       Byval sAccessBase As _
                                                       String) As Boolean
 
       Dim DBQuell As DataBase
       Dim RsQuell As RecordSet
       Dim DBZiel As Database
       Dim RsZiel As Recordset
       Dim tbl As TableDef
       Dim tblExist As Boolean
       Dim fld As Field
 
       tblExist = False
       CopyExclTab = False
 
       On Error Resume Next
       If Dir(sAccessBase) = "" Then 
              MsgBox "Access-Datenbank nicht gefunden",vbExclamation,"Fehler:"
              Exit Sub
       End If
 
       If Dir(sWorkbookPfad) = "" Then 
              MsgBox "Excel-Workbook nicht gefunden",vbExclamation,"Fehler:"
              Exit Sub
       End If
 
       'Access DB im exclusiv Modus öffnen ....
       Set DBZiel = DBEngine.OpenDataBase(sAccessBase, True, False,";pwd=")
 
       Set DBQuell = DBEngine.OpenDataBase(sWorkBookPfad, False, False, "Excel" & _
         "8.0;")
        Set  RsQuell = DBQuell.OpenRecordset(sTabName+"$", dbOpenDynaset) 
        If Err.Number <> 0 Then 
             MsgBox "Die angegebene Tabelle existiert" & _
               "nicht.",vbExclamation,"Fehler"
             Exit Sub
        End If
 
        'Alle Tabelle durchlaufen, ob die Tabelle schon vorhanden ist ....
       For Each tbl In DBZiel.TableDefs
             If Ucase(tbl.Name) = Ucase(sTabName) Then
                    tblExist=True
                    Exit For
             End If
        Next
 
        ' Fall: die Tabelle ist in der AccessDB noch nicht existent, dann Eine 
        ' erzeugen
        If Not tblExist Then
              Set tbl=DBZiel.CreateTableDefs(sTabName)
              With tbl
                   For Each fld In RsQuell.Fields
                         .Fields.Append .CreateField(fld.Name,fld.Typ,fld.Size)
                   Next
              End With
              DBZiel.TableDefs.Append tbl
        End If 
 
        'Zieltabelle öffnen
        Set RsZiel = DBZiel.OpenRecordset(sTabName, dbOpenDynaset)
 
        '1:1 kopieren
        If RsQuell.EOF Then
             CopyExlTab = True
             Exit Sub
        End If
 
         Do While Not RsQuell.EOF
                RsZiel.AddNew
                For Each fld In RsQuell
                      RsZiel.Fields(fld.Name).Value = fld.Value
                Next
                RsZiel.UpDate
                RsQuell.MoveNext
         Loop 
 
         CopyExclTab = True
End Function
Das das eine echte Access-Tabelle macht - daran kann keiner rütteln.

cu
Lordchen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Komplette Excel Tabelle in ACCESS44manu28.11.01 12:44
Re: Komplette Excel Tabelle in ACCESS37Heike28.11.01 13:02
Re: Komplette Excel Tabelle in ACCESS35Manu28.11.01 15:08
Re: Komplette Excel Tabelle in ACCESS33Sven30.11.01 14:16
Re: Komplette Excel Tabelle in ACCESS563unbekannt30.11.01 20:59

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