Avatar billede ninini Nybegynder
17. oktober 2005 - 09:21 Der er 1 kommentar og
1 løsning

Søgning/ vilkårlig variabler

Hej

Jeg har lavet et script som skal lave en søgning, hvor firmanavn og dato er ukendt.
DVS. jeg er på et layout og her skal jeg ud fra firmanavnet og datoen de kort der opfylder disse kriterier.
Jeg har indtil videre kun fået scriptet til at søge på firmanavnet ved at copy og paste, men
dette virker ikke når jeg lave en søgning med to vilkårlige kriterier.
Er der noget der har et godt råd
Avatar billede esys Juniormester
02. november 2005 - 12:42 #1
Sådan gør du:
------
1:
Opret to søgefelter. Et for navn og et for dato. Navngiv dem feks "NameSearchInput" og "DateSearchInput".
Disse felter skal være globale felter.
(dette har du formentlig allerede i dag)
------
2
Lav et (eller flere) calculationsfelter (må ikke være globalt), resultatet skal være tal. Navngiv dem feks "NameSearchResult" og "DateSearchResult"

Jeg antager her at dine nuværende felter i databasen hedder "Name" og "Date" og de ligger i tabellen "CustomerData"- det er altså her du har dine data med kunder og dato'er)

Formlen for feltet "NameSearchResult":
if(GetPatternCount(CustomerData::Name; CustomerData::NameSearchInput)>0;"1";"")

Formlen for feltet "DateSearchResult":
if(GetPatternCount(CustomerData::Date; CustomerData::DateSearchInput)>0;"1";"")
-------------------
3:
Ideen er her at hvis dato-feltet i basen har det samme indhold som i søge-input-feltet så vil resultatet i kalkulationsfeltet altid blive nummeret "1". Dette gælder både for begge kriterier.
-------------------
4:
I dit søge-script (jeg antager at det er FM7 men kan sikkert også bruges i tidligere versioner) laver du et "Perform find-script", hvor du markerer at resultatet for begge de 2 felter (NameSearchResult og DateSearchResult) skal være "1". (Du må ikke skrive anførselstegnene i formlen)
Indføj et "Set error capture (on) script foroven i scriptet så du undgår at der opstår fejlmeddelelser hvis den ikke finder noget.
Du behøver kun at indsætte et "Commit-statement" inden søgningen hvis søgningen også skal kunne foregå via Internettet.

Håber du kan bruge denne metode.
Avatar billede esys Juniormester
02. november 2005 - 13:07 #2
(Sorry - hermed sendes det som svar og ikke kommentar)
Sådan gør du:
------
1:
Opret to søgefelter. Et for navn og et for dato. Navngiv dem feks "NameSearchInput" og "DateSearchInput".
Disse felter skal være globale felter.
(dette har du formentlig allerede i dag)
------
2
Lav et (eller flere) calculationsfelter (må ikke være globalt), resultatet skal være tal. Navngiv dem feks "NameSearchResult" og "DateSearchResult"

Jeg antager her at dine nuværende felter i databasen hedder "Name" og "Date" og de ligger i tabellen "CustomerData"- det er altså her du har dine data med kunder og dato'er)

Formlen for feltet "NameSearchResult":
if(GetPatternCount(CustomerData::Name; CustomerData::NameSearchInput)>0;"1";"")

Formlen for feltet "DateSearchResult":
if(GetPatternCount(CustomerData::Date; CustomerData::DateSearchInput)>0;"1";"")
-------------------
3:
Ideen er her at hvis dato-feltet i basen har det samme indhold som i søge-input-feltet så vil resultatet i kalkulationsfeltet altid blive nummeret "1". Dette gælder både for begge kriterier.
-------------------
4:
I dit søge-script (jeg antager at det er FM7 men kan sikkert også bruges i tidligere versioner) laver du et "Perform find-script", hvor du markerer at resultatet for begge de 2 felter (NameSearchResult og DateSearchResult) skal være "1". (Du må ikke skrive anførselstegnene i formlen)
Indføj et "Set error capture (on) script foroven i scriptet så du undgår at der opstår fejlmeddelelser hvis den ikke finder noget.
Du behøver kun at indsætte et "Commit-statement" inden søgningen hvis søgningen også skal kunne foregå via Internettet.

Håber du kan bruge denne metode.
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
Computerworld tilbyder specialiserede kurser i database-management

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