vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest sobota, 18 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Upload plików mdb do bazy Access accdb


otwartyotwarty rozpoczął: Zwierzak postów: 2



napisał: Zwierzak
postów: 31


umieszczony:
3 grudnia 2008
14:59

  
Drogi Zwierzaku,
Można to zrobić w następujący sposób:
Listę plików możemy w danym katalogu można wyświetlić za pomocą następującego kodu:
Private Sub CommandButton1_Click()
Dim nextFile As String
  Dim Dir As String
  Dim File As String
  Dim Lista As String
  'sciezka do katalogu
  myDir = "C:\Bazy\Flaszki\"
  'jakich plikow szukamy
  myFile = "*.mdb"
  nextFile = VBA.Dir(Dir & File)
  Do Until Len(nextFile) = 0
  Lista = Lista & Dir & File & Chr(10)
  nextFile = VBA.Dir()
  Loop
  MsgBox "W katalogu " & Dir & " są następujące pliki:" & Chr(10) & Lista
'wyswietla liste plikow w katalogu
End Sub



Dodać tabelę z jakiegoś pliku do istniejącej bazy zbiorczej(produkcyjnej) można za pomocą następującego kodu:
Private Sub CommandButton1_Click()
Dim acApp As Access.Application
    Set acApp = New Access.Application
    acApp.OpenCurrentDatabase "c:\Bazy\BAZA_PRODUKCYJNA.mdb"
      
DoCmd.TransferDatabase acImport, "Microsoft Access", "c:\Bazy\BAZA_Z_TABELA.mdb", acTable, "Tabela", "Tabela", False
DoCmd.RunSQL "INSERT INTO Tabela SELECT Tabela1.* FROM Tabela1;"
DoCmd.DeleteObject acTable, "Tabela1"

acApp.CloseCurrentDatabase
End Sub


A teraz połącz sobie oba kody, a otrzymasz rozwiązanie.
Trzymaj się!
napisał: Zwierzak
postów: 31


umieszczony:
28 listopada 2008
12:44

edytowany:
28 listopada 2008
15:25

  
Witam,
Czy mógłby mi ktoś podesłać makro w excelu, które otwierałoby kolejno pliki mdb z określonego katalogu (pętlą?) i zgrywało ich zawartość do bazy danych accdb. Pliki mdb zawierają dane w tabelach, które są już zdefiniowane w bazie accdb. Baza accdb jest bazą zbiorczą, produkcyjną.

Napisałem makro, które dołącza mi tabele do bazy(z "butelka.mdb" do "brzuch.accdb"), ale efekt jego działania jest taki, że tworzy nowe tabele o nazwach "piwo1", "piwo2", ... a ja chcę mieć wszystko z "butelki" w jednej tabeli "piwo".


Private Sub CommandButton1_Click()
Dim acApp As Access.Application
    Set acApp = New Access.Application
    acApp.OpenCurrentDatabase "c:\Bazy\brzuch.accdb"
   
   
DoCmd.TransferDatabase acImport, "Microsoft Access", "c:\Bazy\butelka.mdb", acTable, "piwo", "piwo", False
acApp.CloseCurrentDatabase
End Sub



Podejrzewam, że trzeba to zrobić pośrednio poprzez kwerendę dołączającą, ale nie wiem jak ją skonstruować, ani jak poprawić później makro.
Czy da się zgrać jednocześnie wszystkie tabele z pliku mdb do pliku zbiorczego accdb, np. jeślibym miał w "butelka.mdb" dwie tabele "piwo" i "wino" i "wódka".


Proszę o możliwie proste rozwiązania.
Z góry dzięki za pomoc.


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z