vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 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

Allgemeine Diskussionen
Hat Lordchen gerade erst gestern wieder geproggt: 
Autor: unbekannt
Datum: 24.10.01 18:59

Hi Moonwalker,

vor dem Problem stand ich gerade erst gestern wieder, ich habe es so gemacht (die Tabelle in der Access DB existierte noch nicht!)

In das VB-Projekt einen Verweis auf die Microsoft DAO 3.n Object - Library einbinden (Projekte/Verweise). Normalerweise geht das auch mit nur 2 SQL-Kommands. Ich wollte aber auf Nummer sicher gehen, zumal auch Memory-Felder kopiert werden mußten:

Private Sub CopyExcel2Access(Byval sWorkBookName As String, _
                                                          Byval sTableSheet As _
                                                          String, _
                                                          Byval sDBName As _
                                                          String)
      Dim DB1 As Database
      Dim DB2 As Database
      Dim Rs1 As Recordset
      Dim Rs2 As Recordset
      Dim fld As Field
      Dim tble As TableDef
 
      'Access-DB öffnen und neue Tabelle anlegen:
      Set DB1 = DBEngine.OpenDatabase(sDBNAme, True, False)
      Set DB2 = DBEngine.OpenDatabase(sWorkBookName, False, False, "Excel 8.0;")
      Set Rs2 = DB2.OpenRecordSet(sTableSheet & "$", dbOpenDynaset)
      Set tble = DB1.CreateTableDef("Kopie")
 
      With tble
            For Each fld In Rs2.Fields
                    .Fields.Append .CreateField(fld.Name, fld.Typ, fld.Size)
            Next
      End With
      DB1.TableDefs.Append tble
 
      'Tabellen zeilenweise kopieren:
      Set Rs1 = db1.OpenRecordset("Kopie", dbOpenDynaset)
      Do While Not Rs2.EOF
             With Rs1
                      .AddNew
                      For Each fld In Rs2.Fields
                            .Fields(fld.Name).Value = fld.Value
                      Next
                      .UpDate
             End With
             Rs2.MoveNext
      Loop
 
      DB1.Close
      DB2.Close
End Sub
cu
Lordchen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Nicht direkt VB aber....84moonwalker24.10.01 08:25
Re: Nicht direkt VB aber....376ModeratorDieter24.10.01 10:27
Hat Lordchen gerade erst gestern wieder geproggt:549unbekannt24.10.01 18: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