mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
problem z kluczem https://forum.mix-soft.pl/viewtopic.php?f=15&t=793 |
Strona 1 z 1 |
Autor: | iredy [ 2009-04-22, 11:40 ] |
Tytuł: | problem z kluczem |
Witam - to mój pierwszy post więc gratuluję pomysłu, forum znalazłem przypadkiem, radości było co niemiara ;) Mam tego typu problem - AmBasic HMP - niby prosty SetKeySeg, niby powinno działać (opieram się na założeniu, że INTEGER z Pervasive'a to LONG z AmBasic'a), a nie chce... Co robię nie tak? Kod: int iPosDW = SetTaggedPos( FS ) long lIdDW = GetLineId(iPosDW) int errDW string sciezkaDW = KatalogFirmy()+"51dw.dat" int iBazaDW = Open sciezkaDW for base "DW" SetKey(iBazaDW,"id") SetKeySeg(iBazaDW,"id",lIdDW) errDW = GetRec(iBazaDW,EQ) if errDW != 0 then Error "Blad obslugi bazy danych DW" lIdDW = GetField(iBazaDW,"id") int errPW string sciezkaPW = KatalogFirmy()+"51pw.dat" int iBazaPW = Open sciezkaPW for base "PW" SetKey(iBazaPW,"dostawy") SetKeySeg(iBazaPW,"iddw",lIdDW) errPW = GetRec(iBazaPW,EQ) if errPW != 0 then Error "Blad obslugi bazy danych PW" print lIdDW print LF print GetField(iBazaPW,"id") pozdrawiam irek |
Autor: | jacekk [ 2009-04-22, 19:54 ] |
Tytuł: | |
Klucz "dostawy" jest duplikowalny więc nie można pobierac rekordu symbolem EQ (równy). Należy stosowac GE (większy lub równy). Podając kod napisz co chcesz uzyskac. Domyślam się, że chodzi o rozliczenia dostawy więc należy zastosowac klucz "pozycje" Kod: int iPosDW = SetTaggedPos( FS ) long lIdDW = GetLineId(iPosDW) int errDW string sciezkaDW = KatalogFirmy()+"51dw.dat" int iBazaDW = Open sciezkaDW for base "DW" SetKey(iBazaDW,"id") SetKeySeg(iBazaDW,"id",lIdDW) errDW = GetRec(iBazaDW,EQ) if errDW != 0 then Error "Blad obslugi bazy danych DW" lIdDW = GetField(iBazaDW,"id") int errPW string sciezkaPW = KatalogFirmy()+"51pw.dat" int iBazaPW = Open sciezkaPW for base "PW" SetKey(iBazaPW,"pozycje") SetKeySeg(iBazaPW,"typi",37) SetKeySeg(iBazaPW,"iddw",lIdDW) errPW = GetRec(iBazaPW,GE) while errPW==0 && GetField(iBazaPW,"iddw")==lIdDW print using "\n iddw=%d idpw=%d",lIdDW,GetField(iBazaPW,"id") errPW=GetRec(iBazaPW,NX) wend |
Autor: | iredy [ 2009-04-23, 06:42 ] |
Tytuł: | |
Dzięki wielkie ! Z kluczem "pozycje" próbowałem wcześniej, ale też nie działało, więc próbowałem innym. Ruszyłem do przodu irek |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |