ďťż
 
[VFP9] - błąd foxa czy mój? ďťż
 
[VFP9] - błąd foxa czy mój?
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

[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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • quentinho.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com