mojaSymfonia FORUM
https://forum.mix-soft.pl/

Tworzenie nowej bazy w HM a późniejsze otwarcie
https://forum.mix-soft.pl/viewtopic.php?f=15&t=1724
Strona 1 z 1

Autor:  Khavert [ 2010-02-11, 14:08 ]
Tytuł:  Tworzenie nowej bazy w HM a późniejsze otwarcie

Witam,
Zgodnie z tym co wyczytałem w poprzednich wątkach tworzenie bazy wygląda następująco:
Kod:
BaseDef SK
sk.New("skup")


tutaj następuje tworzenie pól poprzez polecenie sk.Field ....

Kod:
sk.Key(0x0100,"ID")
sk.KeyField(15,4,"ID")
sk.Create()
String sciezka=KatalogFirmy()+"SK.DAT"
Create sciezka for base "skup"
BaseError (sciezka,4)


W następnym raporcie który ma otworzyć bazę i przekazać wskazany rekord do formularza:

Kod:
String sciezka=KatalogFirmy() + "sk.DAT"
Int sk=Open sciezka For base "skup"
baseError (sk, 4)


I tutaj uprzejmie mnie informuje, że "nieznana baza "skup" .

Tak do końca nie wiem o co chodzi i jak to ominąć. Chcę trzymać dodatkowe dane w osobnej bazie która ponadto w założeniu ma przechowywać id rekordu z bazy MG jako połączenie.

Proszę o pomoc i z góry dziękuję.

Autor:  rafal [ 2010-02-11, 23:27 ]
Tytuł: 

Kod:
// falgi kluczy
int BKF_EXT       = 0x0100 // wartość stała dla wszystkich kluczy   
int BKF_MOD       = 0x0002 // dane klucza można modyfikować
int BKF_DUP       = 0x0001 // klucz może być duplikowany


// rodzaje pól w rekordzie
#define FT_STRING   0      
#define FT_INT      1      
#define FT_FLOAT    2   
#define FT_DATE     3         
#define FT_AUTOINC  15

BaseDef bDef

bDef.New("LUDZIE")
bDef.Field(FT_STRING, 50, "nazwisko")
bDef.Field(FT_STRING, 50, "imie")


// klucz 1 - ten klucz pilnuje żeby nie było w bazie dwóch osób o takim samym nazwisku

bDef.Key(BKF_EXT | BKF_MOD , "nazwisko")
bDef.KeyField(FT_STRING, 50, "nazwisko")

// klucz 2
bDef.Key(BKF_EXT | BKF_MOD | BKF_DUP , "imie")
bDef.KeyField(FT_STRING, 50, "imie")

bDef.Create()

int bBaza, errBaza

bBaza = Open KatalogFirmy() + "LUDZIE.DAT" for base "LUDZIE"

if bBaza <= 0 then
   Create KatalogFirmy() + "LUDZIE.DAT" for base "LUDZIE"
   BaseError(KatalogFirmy() + "LUDZIE.DAT",  4)

   //otwieramy stwrzoną baze danych
   bBaza = Open KatalogFirmy() + "LUDZIE.DAT" for base "LUDZIE"
   BaseError(KatalogFirmy() + "LUDZIE.DAT",  4)

endif

Close( bBaza )


W każdym raporcie który odwołuje sie do nowoutworzonej bazy należy wykonać powyższy kod na początku.

Autor:  Khavert [ 2010-02-12, 12:20 ]
Tytuł:  Przecież to takie prostę

Dzięki WIELKI, Bardzo mi pomógł ten post, po prostu nie wiedziałem, że to można robić w taki sposób.

Jakby miał Pan jakiekolwiek dane na temat baz danych w symfonii HM to byłbym wdzięczny za wysłanie, ponieważ mam ambicje nauczyć się tego czegoś.

Pozdrawiam

Autor:  wrob [ 2010-02-12, 16:54 ]
Tytuł: 

Nie szkoda ci czasu? te bazy trzeba znac o tyle o ile sie pisze jakies rozwiazania lub wdraza cos na HMP a w innym wypadku to juz lepiej opanowywac obiekty w HMF na przyszlosc :)

Autor:  Khavert [ 2010-02-13, 09:09 ]
Tytuł: 

Czasu mi jakoś nie szkoda, po prostu czuję, że jak napiszę to co piszę szef mi zleci coś dodatkowego.

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/