vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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
So, aber jetzt. 
Autor: unbekannt
Datum: 03.11.01 16:38

Private DB1 As Database
Private DB2 As Database
Private Rs1 As Recordset
Private Rs2 As Recordset
 
Private Const sDBNAME As String = "Pfad_und_Namen_der_Datenbank"
 
Private Sub Auto_Open()
    Dim myCmdBar As CommandBar
    Dim myButton As CommandBarButton
 
    Set myCmdBar = Application.CommandBars.Add(Name:="Excel2Access", _
      Temporary:=True)
    Set myButton = myCmdBar.Controls.Add(msoControlButton)
 
    With myButton
        .BuiltInFace = True
        .Style = msoButtonIconAndCaption
        .TooltipText = "Konvertiert die Tabelle in eine Access Tabelle"
        .FaceId = 548
        .OnAction = "CopyExcel2Access"
        .Visible = True
    End With
 
    myCmdBar.Visible = True
 
End Sub
 
'Excel-Tabelle in Access-Datenbank kopieren
Private Sub CopyExcel2Access()
 
  Dim DB1 As Database
  Dim DB2 As Database
  Dim Rs1 As Recordset
  Dim Rs2 As Recordset
  Dim fld As Field
  Dim tble As TableDef
  Dim sWorkBookName As String
  Dim sTableSheet As String
 
  sWorkBookName = ActiveWorkbook.Name
  sTableSheet = ActiveSheet.Name
 
  ' Access-DB öffnen und neue Tabelle anlegen:
  Set DB1 = DBEngine.OpenDatabase(sDBNAME, True, False)
  Set DB2 = DBEngine.OpenDatabase(sWorkBookName, False, False, "Excel 9.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.Type, 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
Tipp: Excel-Daten nach Access451ModeratorMoni01.11.01 14:06
Re: Tipp: Excel-Daten nach Access522unbekannt01.11.01 16:11
Re: Tipp: Excel-Daten nach Access454ModeratorMoni01.11.01 16:44
Re: Tipp: Excel-Daten nach Access377unbekannt01.11.01 16:51
Re: Tipp: Excel-Daten nach Access547ModeratorMoni01.11.01 18:51
Re: Tipp: Excel-Daten nach Access323unbekannt01.11.01 23:54
Re: Tipp: Excel-Daten nach Access424ModeratorMoni03.11.01 16:05
Re: Tipp: Excel-Daten nach Access316unbekannt03.11.01 16:08
So, aber jetzt.336unbekannt03.11.01 16:38
Re: So, aber jetzt.298unbekannt03.11.01 16:51
Re: So, aber jetzt.293ModeratorMoni03.11.01 18:10
Re: So, aber jetzt.306ModeratorMoni03.11.01 18:08
Re: So, aber jetzt.324unbekannt03.11.01 18:35
Re: So, aber jetzt.284ModeratorMoni03.11.01 19:49
... seufz ...389unbekannt03.11.01 19:56
Re: ... seufz ...297ModeratorMoni03.11.01 20:06
Da gibt es aber eine Steigerung:495unbekannt03.11.01 20:14

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