[VFP9] - błąd foxa czy mój?
MiWa - 11-02-2007 00:03
[VFP9] - błąd foxa czy mój?
Witam
Wydaje mi się, że znalazłem błąd w VFP9 (albo ja się mylę).
W uproszczeniu wygląda to tak: Z bazy biorę dwie tabele np:
województwa ----------- idwojew (autoinc) nazwawoj idstolicywoj
miasta ------ idmiasta (autoinc) nazwamiasta
powiązane relacją idstolicywoj=idmiasta
w tym przykładzie reszta pól i inne tabele nie mają znaczenia
generuję nową formatkę za pomocą kreatora, wybieram normalnego wizarda FormWizard (nie jeden do wielu). W kroku 1 wybieram wszystkie pola z tabeli województwa w kroku 2 wybieram jakiś styl (nie ma znaczenia) oraz ButtonType Custom - Scrolling grid (justified - to jest istotne, bo chcę zastosować grida jednokolumnowego z kontenerem w miejscu pola tekstowego w kolumnie) krok 3 sort wg nazwawoj i przechodzę do modyfikowania formatki
W Data Environment otwieram: tabelę wojewodztwa (indeks wg nazwawoj) i tabelę miasta(indeks wg idmiasta) Łączę je relacją jak wyżej
Oddzielnie tworzę klasę kontenera "Woj_Stolica" W kontenerze tym są pola tekstowe: txtIDWojew (ControlSource - wojewodztwa.IDWojew) txtWojew (ControlSource - wojewodztwa.NazwaWoj) txtStolica (ControlSource - Miasta.NazwaMiasta) i dla celów testowych: txtIdStolicy1 (ControlSource - wojewodztwa.IdStolicyWoj txtIdStolicy2 (ControlSource - Miasta.IdMiasta
Do grida w jedynej kolumnie column1 dodaję utworzony kontener Woj_Stolica i ustawiam CurrentControl na Woj_Stolica (zamiast Container1)
Uruchamiam formatkę Działa wyśmienicie ======================================
Przypadkowo w innej formatce usuwam miasto na literę N (np: ID = 120) (czyli gdzieś ze środka tabeli)
Wracam do mojej formatki tak pracowicie tu opisanej Uruchamiam ją
Działa ALE W NIEKTÓRYCH REKORDACH WYŚWIETLA BZDURY
W województwie dolnośląskim zamiast Wrocław np: o ID=250 wyświetla: w txtIdStolicy2 ID=251 a w txtStolica=Września natomiast pola związane z tabelą Województwa są poprawne Poprawne są też wszystkie pola dotyczące miast o ID<120 zaś błędne (przesunięte o 1) miasta o ID>120
Jak wiadomo w Browse i w Gridzie można wyświetlić kolumny z kilku tabel powiązanych relacjami 1 do 1 bez problemu. A tu CHYBA NIE.
Wygląda na to, że przy gridzie z kontenerem do relacji zamiast IDMiasta brany jest NUMER REKORDU z tabeli Miasta Sprawdziłem - recn()=250 !!!!!!!
Sprawdziłem też browse tabel wyświetlane równocześnie z moją formatką Browsy są poprawne, relacje są zachowane !!
Jak to możliwe ??? Czyj błąd ??
Spotkaliście się z tym ?
Jeszcze ciekawszy efekt uzyskałem, gdy w miejsce txtStolica wstawiłem ComboBox lub ListBox
wyświetla - Września Wybieram Wrocław Zapisuję i co mam? W Województwa.IDStolicyWoj zapisało się 249 (bo w tabeli Miasta recn() dla Wrocławia = 249)
MiWa
Kamil Paszkiewicz - 12-02-2007 00:01
Dnia Sat, 10 Feb 2007 22:30:23 +0100, MiWa napisał(a):
> Witam > > Wydaje mi się, że znalazłem błąd w VFP9 (albo ja się mylę). [...] > generuję nową formatkę za pomocą kreatora, [..]
Nie korzystam nigdy z kreatorów. Mam 100% kontroli nag kodem. Wtedy cudów nie ma:-)
Oczywiście może być jakiś błąd w kreatorze - czy należy to traktować jako błąd VFP jako takiego?
-- Pozdrawiam Kamil Paszkiewicz
"Jedzmy gówna! Przecież miliony much nie mogą nie mieć racji..." - W.Łysiak
MiWa - 12-02-2007 00:01
Użytkownik "Kamil Paszkiewicz" napisał:
>> Witam >> >> Wydaje mi się, że znalazłem błąd w VFP9 (albo ja się mylę). > [...] >> generuję nową formatkę za pomocą kreatora, > [..] > > Nie korzystam nigdy z kreatorów. Mam 100% kontroli nag kodem. Wtedy cudów > nie ma:-) > > Oczywiście może być jakiś błąd w kreatorze - czy należy to traktować jako > błąd VFP jako takiego?
Począwszy od VFP3 zacząłem stopniowo korzystać z kreatorów i jak widać rozleniwiłem się. (poprzednio w Clipperze 97 i FoxPro wersji 1 z ułamkiem nie było takich udogodnień - to gdzieś tak około 20 lat temu) i jakoś tak się do nich przyzwyczaiłem, że traktuję je jako równoprawne z językiem VFP.
a pytanie podstawowe to: dlaczego w niektórych przypadkach twórcy VFP (a właściwie niektórych obiektów) zastępują relację poprzez pole ID powiązaniem przez numer rekordu. I czy na skutek stosowania generatorów nie pominąłem ustawienia jakiejś właściwości w gridzie, kontenerze lub polu ComboBox.
Poradziłem sobie z tym - wstawiłem kawałki kodu zastępujące relacje i jest OK. Ale niesmak pozostaje...
MiWa
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[ORACLE] RMAN - blad: ORA-19665 i ORA-19664
Ms SQL Server 2000 i błąd przy nie wypełnionej wartościo w polusmalldatetime
[SUBIEKT] Katastrofalny błąd - padła baza danych lub serwer SQL
TOAD blad polaczenia z serwerem: ORA-01031 insufficient privileges
PostgreSQL Windopws XP SP2 - blad podczas instalacji
Microsoft visual C++ runtime error instalacja coreldraw9 BLAD :(
DBDesigner4 - czy ktoś wie gdzie popełniam bład ?
PgSQL i funkcja dajaca "autoincrement" - blad
load data infile - blad - Mysql
Oracle blad naruszono wiezy unikatowe
zanotowane.pldoc.pisz.plpdf.pisz.plquentinho.opx.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 |
|