Avatar billede faroe Nybegynder
23. oktober 2001 - 23:44 Der er 3 kommentarer og
1 løsning

søgning i en formular

Jeg har en formular, med en under formular,
det som jeg skal lave er. Jeg har et felt i formularen fx [søgefelt] (sql like \"*\"&[søgefelt]&\"*\") . Når jeg skriver in i søgefeltet og tryker på enter, skal underformularen opdateres med søgningen og setFocus på underformular, så kan jeg velge record,
når jeg så tyker på enter retunerer den recorden til en anden formular som er åben.

FX jeg har en faktureformular som har feltet varetekst når jeg dobbeltkliker på den åbner jeg søgeformularen, når jeg har fundet varen og tryker på enter, retunerer den recorden i min søgning til feltet i faktureformularen.
24. oktober 2001 - 13:07 #1
Hmm, jeg har lidt svært ved at forstå helt hvad det er du vil!?

Men hvis du har et søgefelt, som du vil have en underformular til at reagere på, så kan du lægge noget kode på søgefeltets EfterOpdatering-hændelse, som ser nogenlunde således ud:

Forms!Fakturaformular!NavnPåUnderformular.Form.Filter = \"Varetekst Like \'*\" & Me!Søgefelt & \"*\'\"
Forms!Fakturaformular!NavnPåUnderformular.Form.FilterOn = True

Det skulle filtrere underformularens datasæt, så du kun ser de poster, som opfylder kriteriet.

Forms!Fakturaformular!NavnPåUnderformular.Form.FilterOn = False viser alle poster igen.

Men jeg mangler nogle flere detaljer for at kunne give en mere præcis løsning.

/Thomas
Avatar billede faroe Nybegynder
24. oktober 2001 - 13:49 #2
Vis jeg forklarer søgningen først.
jeg har en formular som har en underformular,
i underformularen har jeg vare tabel som jeg vil søge i. på formularen (ikke underformularen)
har jeg et felt til at skrive søgeteksten i, når jeg har skrevet teksten som jeg vil søge efter trykker jeg på ender (Efter kan også være en Kommandoknap), så opdateres underformularen med \"*\"søgeteksten\"*\".

Så kan jeg vælge en rekord i underformularen som jeg kan kopiere til et andet sted
på samme måde som vis man bruger Ctrl+C og Ctrl+V
24. oktober 2001 - 14:02 #3
Okay, for lige at tage søgningen først:

På søgefeltets EfterOpdatering lægger du denne kode:

If Me!Søgefelt = \"\" or Isnull(Me!Søgefelt) then
  Me!Underformularnavn.Form.Filteron = False
else
  Me!Underformularnavn.Form.Filter = \"Varetekst Like \'*\" & Me!Søgefelt & \"*\'\"
  Me!Underformularnavn.Form.Filteron = true
endif

Angående din kopiering, så kan du jo bare gøre det samme. følgende 2 sætninger kopiere en record i hukommelsen:
docmd.RunCommand acCmdSelectRecord
docmd.RunCommand acCmdCopy

Når du skal indsætte igen skal du skrive:
docmd.RunCommand acCmdSelectRecord
docmd.RunCommand acCmdPaste

/Thomas
Avatar billede faroe Nybegynder
24. oktober 2001 - 14:31 #4
Tussen tak får hjælpen :)). Jeg prøver koden når jeg kommer hjem i aften.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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