ďťż
 
[VBA] Dynamiczne tworzenie tablic w bazie MSAccess ďťż
 
[VBA] Dynamiczne tworzenie tablic w bazie MSAccess
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[VBA] Dynamiczne tworzenie tablic w bazie MSAccess



Paweł Gorczyński - 17-11-2005 11:22
[VBA] Dynamiczne tworzenie tablic w bazie MSAccess
  Witam,
ruski miesiąc się z tym męczę i jestem tak zapętlony, że bez pomocy nie dam
rady. Uzywam VBA w Excellu.
Tworzę dynamicznie tablice w bazie MSAccess, ale nie mam go zainstalowanego,
a wygląda to tak:

strNazwaTablicy = "t_" & txtNrEw.Text
Set tbdNowaTablica = dbGrafiki.CreateTableDef(strNazwaTablicy)
With tbdNowaTablica
tbdNowaTablica.Fields.Append .CreateField("Data", dbDate)
tbdNowaTablica.Fields.Append .CreateField("Grafik", dbText)
End With
dbGrafiki.TableDefs.Append tbdNowaTablica

jest poważna wada takiej tablicy: brak klucza podstawowego. Nie potrafię go
ustawić, a chciałbym, żeby kolumna "Data" była tym kluczem (data nie może
się powtórzyć)

Błagam o pomoc i pozdrawiam

--
Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.vbasic





Shalom - 17-11-2005 11:22

  A nie prosciej zrobic to z drugiej strony, czyli z poziomu akcesa?
Ja uwazam, ze prosciej.

Pozdrawiam.




Pawel Gorczynski - 17-11-2005 11:22

  pewnie, ze prosciej. Ale to przeciez fragment pewnego programu. Wraz z
dodaniem np. Pracownika, tworze dla niego odzzielna tablice. Pracowników
moze byc kilkudziesieciu, ale nie wiem ilu. Uzytkownik dodaje sobie goscia i
nie musi nawet wiedziec, ze powstala nowa tablica w bazie.

--
Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.vbasic




Pawel Gorczynski - 17-11-2005 11:22

  Dodam jeszcze ze program dziala, ale zycie jest jak pudelko czekoladek.
Chcialem obsluzyc blad 3022, a wiec powtórka wartosci klucza; jesli,
powiedzmy, nie uzyskam pomocy to obsluze to if recordcount >0 then, ale nie
bede dalej wiedzial jak ustawiac klucz podstawowy :-(

--
Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.vbasic





Marcin Miga - 17-11-2005 11:22

  Paweł Gorczyński wrote:

> Witam,
> ruski miesiąc się z tym męczę i jestem tak zapętlony, że bez pomocy
> nie dam rady. Uzywam VBA w Excellu. Tworzę dynamicznie tablice w
> bazie MSAccess, ale nie mam go zainstalowanego, a wygląda to tak:

A czemu nie robisz tego za pomocą SQL-a? Bez grzebania się w TableDef,
FieldDef, Index...
Np:
"CREATE TABLE aa(Pole1 Date Not Null PRIMARY KEY, ...)"

>
> strNazwaTablicy = "t_" & txtNrEw.Text

Dim idfIndex As DAO.Index

Set tbdNowaTablica = dbGrafiki.CreateTableDef(strNazwaTablicy)
With tbdNowaTablica
.Fields.Append .CreateField("Data", dbDate)
' powyzej i ponizej wycialem tbdNowaTablica
.Fields.Append .CreateField("Grafik", dbText)

' dodanie indeksu
Set idfIndex = .CreateIndex("PrimaryKey")
idfIndex.Primary = True
' Klucz glowny
idfIndex.Fields.Append .CreateField("Data", dbDate)
.Indexes.Append idfIndex
End With
> dbGrafiki.TableDefs.Append tbdNowaTablica
>
> jest poważna wada takiej tablicy: brak klucza podstawowego. Nie
> potrafię go ustawić, a chciałbym, żeby kolumna "Data" była tym
> kluczem (data nie może się powtórzyć)
>

Teraz juz sie da...

> Błagam o pomoc i pozdrawiam

Nie błagaj, poproś.

pozdrawiaMM
--
Marcin M. Miga
"More matter with less art"




Paweł Gorczyński - 17-11-2005 11:22

  oczywiście należało wyciapać tbdNowaTablica przy użyciu With (moje
przeoczenie);
o SQL myślałem i teraz, gdy w zasadzie podałeć mi to na tacy, przemyślę to
jeszcze raz

jeśli chodzi o grzebanie w tabledef, to muszę ci powiedzieć, że byłem bardzo
blisko rozwiązania. Próbowałem dodać index, ale w moim kodzie nie było
idfIndex.Primary = True
bez Ciebie nie dałbym rady, wielkie dzięki :-)

----- Original Message -----
From: "Marcin Miga" <Marcin.Miga[@]gmail.com>
To: <pl-comp-lang-vbasic@newsgate.pl>
Sent: Thursday, November 17, 2005 11:02 AM
Subject: Re: [VBA] Dynamiczne tworzenie tablic w bazie MSAccess

Paweł Gorczyński wrote:

> Witam,
> ruski miesiąc się z tym męczę i jestem tak zapętlony, że bez pomocy
> nie dam rady. Uzywam VBA w Excellu. Tworzę dynamicznie tablice w
> bazie MSAccess, ale nie mam go zainstalowanego, a wygląda to tak:

A czemu nie robisz tego za pomocą SQL-a? Bez grzebania się w TableDef,
FieldDef, Index...
Np:
"CREATE TABLE aa(Pole1 Date Not Null PRIMARY KEY, ...)"

>
> strNazwaTablicy = "t_" & txtNrEw.Text

Dim idfIndex As DAO.Index

Set tbdNowaTablica = dbGrafiki.CreateTableDef(strNazwaTablicy)
With tbdNowaTablica
.Fields.Append .CreateField("Data", dbDate)
' powyzej i ponizej wycialem tbdNowaTablica
.Fields.Append .CreateField("Grafik", dbText)

' dodanie indeksu
Set idfIndex = .CreateIndex("PrimaryKey")
idfIndex.Primary = True
' Klucz glowny
idfIndex.Fields.Append .CreateField("Data", dbDate)
.Indexes.Append idfIndex
End With
> dbGrafiki.TableDefs.Append tbdNowaTablica
>
> jest poważna wada takiej tablicy: brak klucza podstawowego. Nie
> potrafię go ustawić, a chciałbym, żeby kolumna "Data" była tym
> kluczem (data nie może się powtórzyć)
>

Teraz juz sie da...

> Błagam o pomoc i pozdrawiam

Nie błagaj, poproś.

pozdrawiaMM
--
Marcin M. Miga
"More matter with less art"

--
Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.vbasic




Grzegorz Danowski - 17-11-2005 19:48

  Uzytkownik "Pawel Gorczynski" <p.gorczynski@zeo.pl> napisal w wiadomosci
news:009d01c5eb58$080ff4c0$590510ac@K289...
> pewnie, ze prosciej. Ale to przeciez fragment pewnego programu. Wraz z
> dodaniem np. Pracownika, tworze dla niego odzzielna tablice. Pracowników
> moze byc kilkudziesieciu, ale nie wiem ilu. Uzytkownik dodaje sobie goscia
> i
> nie musi nawet wiedziec, ze powstala nowa tablica w bazie.

Moim zdaniem dodawanie osobnej tabeli dla kazdego pracownika do bardzo zle
podejscie projektowe. Duzo lepiej jest trzymac dane wszystkich pracowników w
jednej tabeli z dodatkowa kolumna z id pracownika.

Pozdrawiam
Grzegorz




Pawel Gorczynski - 18-11-2005 12:02

 
----- Original Message -----
From: "Grzegorz Danowski" <gdn__na@serwerze__poczta.onet.pl>
To: <pl-comp-lang-vbasic@newsgate.pl>
Sent: Thursday, November 17, 2005 4:51 PM
Subject: Re: [VBA] Dynamiczne tworzenie tablic w bazie MSAccess

Uzytkownik "Pawel Gorczynski" <p.gorczynski@zeo.pl> napisal w wiadomosci
news:009d01c5eb58$080ff4c0$590510ac@K289...
> pewnie, ze prosciej. Ale to przeciez fragment pewnego programu. Wraz z
> dodaniem np. Pracownika, tworze dla niego odzzielna tablice. Pracowników
> moze byc kilkudziesieciu, ale nie wiem ilu. Uzytkownik dodaje sobie goscia
> i
> nie musi nawet wiedziec, ze powstala nowa tablica w bazie.

Moim zdaniem dodawanie osobnej tabeli dla kazdego pracownika do bardzo zle
podejscie projektowe. Duzo lepiej jest trzymac dane wszystkich pracowników w
jednej tabeli z dodatkowa kolumna z id pracownika.

I tak jest, dane wszystkich pracowników sa trzymane w jednej tabeli, w
drugiej grafiki wzorcowe i wymagana obsada. Ale ludzie biora urlopy w róznym
czasie, choruja, sa w ciagu i nie przychodza do pracy, czy grzebia swoich
bliskich. Moga pracowac na róznych stanowiskach w róznych brygadach itd.
Wszystko znakowane data. Stwierdzilem, ze wygodniej bedzie stworzyc im dla
tych potrzeb indywidualne tablice. Dla ok 80 gosci i danych z jednego roku
waga bazy to troche ponad 1Mb.

Pozdrawiam
Grzegorz

--
Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.vbasic




Shalom - 18-11-2005 12:02

  A jak wpadles na pomysl, zeby aplikacja typowo bazodanowa napisana byla w
XL zamiast w AC?




Pawel Gorczynski - 19-11-2005 23:25

  bo nie mam accessa a mam excella
----- Original Message -----
From: "Shalom" <ala@ola.pl>
To: <pl-comp-lang-vbasic@newsgate.pl>
Sent: Friday, November 18, 2005 11:31 AM
Subject: Re: [VBA] Dynamiczne tworzenie tablic w bazie MSAccess

> A jak wpadles na pomysl, zeby aplikacja typowo bazodanowa napisana byla w
> XL zamiast w AC?
>
>
--
Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.vbasic




Shalom - 19-11-2005 23:25

 
No tak. Maluch to tez TIR;)




Pawel Gorczynski - 19-11-2005 23:25

 
>
> No tak. Maluch to tez TIR;)
>
Czego Ty chcesz?
Dane trzymam w bazie, pobieram je do Excella, obramiam, jak mi tam potrzeba
i wio z powrotem do bazy

--
Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.vbasic
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= Tworzenie tabeli z =?ISO-8859-2?Q?nazw=B1_ustalan=B1_przez_?==?ISO-8859-2?Q?usera?= =?ISO-8859-2?Q?b=B3=B1d_w_bazie=2C_nie_wiem_od_czego?==?ISO-8859-2?Q?_zaczac_szukanie?= [Oracle] Co do tworzenia aplikacji dla bazy Oracle =?ISO-8859-2?Q?Tworzenie_zmiennych_w_bloku_przechwytywan?==?I SO-8859-2?Q?ia_wyj=B1tk=F3w_-_try?= [MySQL] Problem z zapisem danych w bazie danych [oracle] [xml] XML na bazie istniejacej struktury ? [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= Problem z funkcja mysql_real_escape_string() na bazie mysql =?ISO-8859-2?Q?=5BOracle=5D_Porownanie_wierszy_z_tych_?==?ISO-8859-2?Q?samych_tablic_na_2_r=F3=BFnych_schematach?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • tejsza.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com