Avatar billede ixus Nybegynder
30. maj 2005 - 18:11 Der er 8 kommentarer og
4 løsninger

Index i en form, hvad bliver gemt, og hvor?

Davsen der ...

Jeg er bumpet ind i et underligt problem vedr. index. Først startede jeg med at lave et kartotek og oprettede et index på et af felterne. Derefter oprettede jeg en form, eneste kodeindehold var #macroload(forms) i 'Init', og #FormError i 'Error'. Til sidst proppede jeg en bunke data i kartoteket.

Derefter ombestemte jeg mig vedr. navnet på kartoteket. Så jeg ændrede navnet på kartoteket, kontrollede at formen henviste til det korrekte kartotek og startede formen. Resultatet var at formen pr. standard ikke viste noget indhold (indholdet var ikke blevet slettet).

Ved enten at trykke pil op, eller alt-f9 på den tomme linie, kunne jeg få dataerne vist igen! Først troede jeg det var formen den var gal med, så jeg omdøbte den, eksporterede, slettede, men intet hjalp. Så oprettede jeg en ny form fra 'scratch', og tada, indhold i formen igen (uden pil op, alt-f9 aktion).

Det viste mig, at der bliver gemt 'noget' i C5, der har med data og formen at gøre. Dette 'noget' bliver ikke slettet, selvom formen bliver slettet.

Så til sidst fandt jeg på at sparke en #Frm_ClearSearch(...) ind i den problematiske form i 'Init', og tada- dataerne bliver vist igen, uden nogen aktion! Fjerner jeg #Frm_ClearSearch(...) fra 'Init', bliver dataerne igen ikke vist, uden pil op/alt-f9.

Forskellen er så nu, at jeg skal bruge #Frm_ClearSearch(...) for at få dataerne vist, til forskel fra før jeg bestemte mig for at omdøbe kartoteket.

Så hvad er relationen med ClearSearch, formen, og indeks? Hvor bliver den 'relation' gemt, og hvorfor startede al den ballade overhovedet (hvis vi lige ser bort fra at jeg omdøbte kartoteket)?
Avatar billede ixus Nybegynder
30. maj 2005 - 18:46 #1
En lille opdatering. Jeg fik ikke nævnet at C5 er version 3.0sp2, native.

#Frm_ClearSearch(...) løser et andet problem jeg har kæmpet med siden vores C5 blev opdateret fra 1.8 til 3.0sp2.

I FRM:OrdKart har jeg haft det problem med mit bruger login, der betød, at når jeg trykkede F4 for en søgning, blev kun 4 felter vist, ud af de ca. 14 der kan søges på.

Før: http://tinypic.com/5jzall
Efter: http://tinypic.com/5jzark

Men som billeder også viser, fremgår 'Transaktion' flere gange (hele 4 stk) og AF, DO forsvandt efter #Frm_ClearSearch(...). Det skal nævnes at der er mange indeks på OrdKart (de blev oprettet der ikke var en OrdKartArkiv i v1.80). Så det er ikke helt logisk endnu, men kan måske skyldes en begrænsning i C5 vedr. F4-indeks-søgninger.

Et andet problem var at jeg altid startede op på den sidste record i OrdKart kartoteket, det problem er nu også løst.

Så relationen kan vel udbygges til ClearSearch, formen, indeks og brugerlogin.
Avatar billede mariaf Juniormester
30. maj 2005 - 19:50 #2
Index "gemmer" ikke, den finder frem. Så kommer der ingen data i din form, så er det fordi du bruger index forkert.
Frm.ordkart skal have slettet brugerrettelser, hvis det kun er dit login, den er gal med. Hvis du altid starter med sidste record, så er der noget galt. Den skal starte med den record, du var inde på sidst.
Frm_search har en pendent der hedder Frm_SearchEnd - den finder sidste record.

Det lyder i øvrigt som om i har haft en ........til at opdatere jer, når I har den type fejl. Det skal du se at få styr på inden I kokser alt for mange data. Det er helt ustyrligt, hvis I kører med frm fra version 1.80 for slet ikke at snakke om bogføringskørsler eller andet, der har været tilrettet og derfor ikke bliver ordentlig opdateret. Fejlfri compilering er blot fejlfri syntax, ikke fejlfri kode.
Der er ingen begrænsninger på F4 (indexsøgningerne), så har du også fejl der, så prøv først at slette brugerrettelserne.
"Så relationen kan vel...." Nej, for du helt gal på den.

Få nu først styr på den opdatering og så brugerrettelserne (nok i omvendt rækkefølge).
Avatar billede ixus Nybegynder
30. maj 2005 - 20:03 #3
Rolig rolig, opdateringen fra 1.80 er foregået korrekt, hver eneste linie kode er blevet evalureret, og manuelt overført. Så nej der bliver ikke brugt v1.80 forms i v3.0.

Ligeså kan jeg nævne at CTRL-F9 (vel det du mener med nulstilling af brugerrettelser)  ikke ændre på noget vedr. F4 eller problemet med den manglende visning af data.

Til sidst, problemet med den manglende visning af dataerne gælder /IKKE/ OrdKart og alle mulige andre, det er 'kun' et problem i det scenarie jeg beskrev. OrdKart viser dataerne uanset om #Frm_ClearSearch er på eller ej. Det er "kun" F4 samt sidste record den starter på, der er problemet der.
Avatar billede dma Nybegynder
30. maj 2005 - 21:17 #4
Normalen for at få vist data i en form er f.eks: (Et meget enkelt eksempel)

#Frm_INDEX(<Bloknavn>,<Indexnavn>)
#Frm_SEARCHEND(<Bloknavn>)

f.eks.

#Frm_Index(OrdKart,NumTraIdx)
#Frm_SEARCHEND(OrdKart)

Vil liste alle ordrer og stille markøren på den sidste post iht. det valgte index.'

Det er ikke normalt at anvende ClearSearch til alm. fremsøgning af data i formen
Avatar billede mariaf Juniormester
30. maj 2005 - 21:37 #5
Det er nok bloknavn/kartoteksnavn, der volder kvaler. Man bruger normalt samme navn til blokken som til kartoteket, men skifter man kartoteksnavn, skal man også huske at skifte bloknavn for at det virker korrekt.
Avatar billede Slettet bruger
31. maj 2005 - 06:20 #6
Til msriaf: Det mener du vist ikke - at man skal skifte bloknavn når man skifter kartotkesnavn - så kunne man f.eks. ikke have to blokke med samme kartotek.
Avatar billede Slettet bruger
31. maj 2005 - 06:36 #7
Vedr. F4, så er funktionen begrænset af hvilke felter der er "låst" i indexet.

Et eksempel er formen OrdLine. Her er valgt #Frm_INDEX(OrdLinie,NumTraLinIdx,2) hvilket betyder er de to første felter i indexet NumTraLinIdx (Nummer og Transaktion) er konstante.

Hvis man bruger F4 vil man kun kunne søge på felter som indgår som 3. felt i et index og hvor de to første felter i indexet er Nummer og Transaktion. Så vil man gerne kunne søge på varenummer, skal man oprette index med felterne Nummer, Transaktion og Varenummer.
Avatar billede ixus Nybegynder
31. maj 2005 - 15:30 #8
Pointen i posten, var at der var tydelig forskel på før-efter omdøbningen af kartoteket. Før jeg omdøbte den var der ingen problemer, posterne blev vist uden aktion.

Efter omdøbningen kan jeg kun se posterne ved aktion (pil op/alt-f9), eller via en #Frm_ClearSearch(...).

Oprettede jeg en ny form kom dataerne frem igen uden aktion (og uden #Frm_ClearSearch(...). Alt hvad der er blevet foretaget er forgået med kun #macroload(forms) og #FormError.

Dvs. ingen anden kode.

Jeg er specifikt nysgerrig vedr. hvorfor problemet overhovedet kom til at starte med, og hvad præcist #Frm_ClearSearch(...) laver.

Jeg har en stærk mistanke om at hvis jeg eksportere alle elementerne jeg har oprettet,  kaster dem over i en ny testversion, så vil problemet ikke findes mere (dvs. der 'behøves' ikke #Frm_ClearSearch(...) så det vil jeg (også) teste på.
Avatar billede ixus Nybegynder
31. maj 2005 - 18:19 #9
Jeg skal i øvrigt nævne at #Frm_Index(...) også 'fixer' problemet, men grunden til problemet mangler jeg stadigvæk at finde ud af, og hvorfor C5 reagerer på denne spøjse måde.

Jeg skulle nok havde givet endnu flere point på et svar end hvad jeg har, så jeg skal gerne give flere, hvis det kan hjælpe :).
Avatar billede mariaf Juniormester
31. maj 2005 - 19:01 #10
Ixus-> Jo, det mener jeg stadig grundlæggende (at blokkens navn skal være lig kartoteksnavnet). Det sparer en for mange problemer, og er i øvrigt også den anbefalede metode. At man så godt kan noget andet, det har du da ret i, men det må være undtagelsen, ikke reglen.

Point hjælper forresten ikke hos mig - men jeg elsker et godt mysterie :-)
Jeg skal lige lege lidt med den i morgen, så skal jeg se hvad jeg kan finde ud af.
Avatar billede ixus Nybegynder
01. juni 2005 - 15:56 #11
Hmm, jeg har lige prøvet at lave et nyt kartotek og en form til denne. Det viser sig at det måske ikke er så mærkeligt endda.

Med kun #macroload(forms) og #formerror, vælger C5 tilsyneladende at sætte cursoren på en ny blank post, under de eksisterende poster.

Altså (efter input af data, og ud af formen) -

http://tinypic.com/5l7wat

pil-op med : http://tinypic.com/5l7wip

Jeg ved dog stadigvæk ikke hvorfor den gør det, altså placere cursoren sådan, så man 'tror' at der ingen poster er. Heldigvis er det ikke noget slemt, da jeg nemt kan 'omgå' problemet, men mystisk synes jeg nu det er.
Avatar billede ixus Nybegynder
01. juni 2005 - 16:00 #12
Ovenstående er i øvrigt 'begrænset' lige til den type form, og har ikke (umiddelbart) noget med F4-problemet på OrdKart at gøre. Så hvis nogen af jer har tips eller lign. til  bug-hunting på det F4-problemet, må I meget gerne skrive om det :).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester