Avatar billede hleschly Nybegynder
18. februar 2011 - 23:35 Der er 10 kommentarer og
2 løsninger

Fomular spørgsmål

Hej Alle eksperter.

Jeg sidder med et lille projekt, og er stået i nogle problemer og har derfor flg spørgsmål.

1:
Er det muligt at gør flg. og hvis hvordan? Jeg har en række felter hvor man skriver et Tal er det så muligt at får vist kun nogle bestemte felter ud fra hvilket af felterne man skriver i? eksempel. Hvis man i "Service Eftersyn" indtaser et id-nr skal der vises x antal felter for servis eftersyn af køretøjet/maskiner. hvor i mod hvis der bliver sat kryds i "Rep. af bil nr." så skal der vises nogle andre felter. og hvis man skriver i "Rep af Maskin nr" skal nogle helt andre felter vises.

2:
Kan man hvis jeg har en tabel med alle maskin nr i så lave det sådan når man har skrevet maskin nr'et i feltet så udfylder den selv nogle bestemte felter eks. navn. placering osv.

3:
Er det muligt at man kun kan skrive de id nr som jeg har lagt ind i to tabeller en for bil og en for maskiner. sådan så man kun kan skrive id nr på bilerne i "Rep af bil nr" og kun maskin id i "Rep af Maskin" og i eftersyn af bil/maskin kan man vælge/skrive fra begge tabeller.

Håber det giver mening og på forånd tak for hjælpen.
Avatar billede terry Ekspert
19. februar 2011 - 12:40 #1
1: yes its possible. Try looking at this link http://bytes.com/topic/access/answers/687309-show-hide-form-fields-based-values-other-field

2: In the fields after update event you can test teh value and then set the other fields value

3: You could maybe use a combo box here which selects the ID's from boh tables
Avatar billede terry Ekspert
19. februar 2011 - 12:44 #2
1: In the "Service Eftersyn" fields after update event you would need some code similar to that in the link which checks on the vaue and tehn shows/hides the fields.
Avatar billede terry Ekspert
19. februar 2011 - 12:46 #3
2: similar to 1: but instead of show/hide you need to give the fields a value.
Avatar billede hleschly Nybegynder
20. februar 2011 - 12:36 #4
Takker for det hurtige svar Terry.

Jeg har dog lige nogle problemer, det med at sætte variablerne xx.Visible = True/False går fint men når jeg så har indtastet i rep af bil så fjerne den fint de felter jeg gerne vil men hvis jeg så indtaster rep af maskine i rækken nedenunder så viser den også fint de felter der skal til der, men den retter det alle rækker, hvilket ikke var meningen det er kun i den aktive række den skulle ændre dette.
Avatar billede terry Ekspert
20. februar 2011 - 13:41 #5
"... men den retter det alle rækker,.."

Thats the way Access works :o(

If you are using a continuous form (records in a list) then you can use conditional formatting to change the appearance of the fields in each record.

http://msdn.microsoft.com/en-us/library/aa139965(v=office.10).aspx

But I dont think you will be able to hide different columns

Another idea would be to show fields which are always viisble in the continuous form. Then you have another form showing a single record, for exampel one where you edit the data. On this form you can show/hide fields in the on Current event depending on the number. Obviously you need to consider new records whwer no number has been slected, which fields do you show here???
Avatar billede hleschly Nybegynder
20. februar 2011 - 17:24 #6
Okay det må jeg rode med ellers dropper jeg det show/hide.

jeg skal dog lige bruge lidt VBA/SQL hjælp kan man bare skrive SQL sætninger i VBA eller hvordan virker dette.
Jeg spørg for at få punkt 2 til at lykkes. for så tror jeg at alle min problemer pt er løst.
eks. jeg indtaster maskin nr. 1234. så auto indsættes flg værdier i Mærke: Højtrykspumpe , Brændstof: Diesel , årgang: 1990 osv. alle disse data er tastet ind i en tabel som hedder maskiner og som har flg. kolonner: Id (maskin nr) Mærke (tekst) Brændstof (tekst) Årgang (tal) osv.
Avatar billede terry Ekspert
20. februar 2011 - 17:41 #7
in vba you can use something like this for action queries (update, delete etc.) you cant SELECT.

DoCmd.RunSQL "UPDATE YourTable SET SomeField = 1"

If yu need to select then you will have to open a recordset using DAO or ADO
Avatar billede terry Ekspert
20. februar 2011 - 17:44 #8
Using SQL isnt going to update the fields unless the record is first written to the database.

If you want to set values of fields on the form while you are editing then the data has NOT been written to teh dB.

You should use somethink like this

If Me.Field1 =1 then me.field2 = 2
Avatar billede hleschly Nybegynder
20. februar 2011 - 18:02 #9
ØHHH tror jeg skal have lidt mere hjælp.

jeg ønsker en sql i min VBA som gør flg.
SELECT * FROM Maskiner WHERE Maskiner.[REP_MASK] = TXT_F_MASK_NR

Me.MAERK.Value = sqlstring.MAERK

Håber det giver mere mening.
Avatar billede terry Ekspert
20. februar 2011 - 18:43 #10
Me.MAERK.Value = Dlookup("FieldName", "TableName", "Maskiner.[REP_MASK] = TXT_F_MASK_NR)
Avatar billede hleschly Nybegynder
20. februar 2011 - 18:52 #11
Jeg Takker mange gange det virker jo perfekt. Og så er det jo rimelig nemt når man ved hvad man snakker om.
Avatar billede terry Ekspert
20. februar 2011 - 19:34 #12
Thanks
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



IT-JOB

Cognizant Technology Solutions Denmark ApS

Sr. Test Analyst

Arbejdernes Landsbank

Fullstack-udvikler med fokus på AI

MAN Energy Solutions

LTSA 4-Stroke Technical Advisor