Avatar billede flashit Nybegynder
23. august 2005 - 15:23 Der er 8 kommentarer og
2 løsninger

fyld form via kode

Hej E

Jeg er ved at løse en opgave i Access 97.
Her har jeg så en form, som får sin data fra en Querie.

Det jeg så gerne vil, er at når man klikker på en post så skal den vise et andet indhold ud fra en anden sql sætning.
Denne sql sætning modtager et parameter/variable, og giver et resultat.

Når man klikker på en post fanger jeg id nummeret.

Se her:
Private Sub ID_Click()
Dim ValgteIDNummer As Integer

ValgteIDNummer = Me.ID
MsgBox ValgteIDNummer
End Sub

ValgteIDNummer skal så overføres til min sql som så skal fylde formen.

Min sql.

Select * from tabel where IDNummer = [ValgteIDNummer]

Man hvordan man kan fylde en formular med data via kode (vba)?

/jakob
Avatar billede terry Ekspert
23. august 2005 - 15:38 #1
jakob>You can do this in a number of ways but it all depends on your current program. When you click on a record, do you open another form to show the result there, or do you want to use the same form? I would suggest that you make a new form and use the ID from the selected record to open the other form and filter it.


So the forms rowsource is =

"Select * from tabel"

Then when you click in a record in the first form you open the new form like this


docmd.OpenForm "NewForm",,,"ID = " & Me.ID
Avatar billede flashit Nybegynder
23. august 2005 - 16:06 #2
Hej terry

docmd.OpenForm "NewForm",,,"ID = " & Me.ID
åbner formularen fint, men den modtager ikke ID parameteret. Promten åbner op som normalt. Er det bare mig eller?
Avatar billede terry Ekspert
23. august 2005 - 16:15 #3
You need a field on the form with the named ID. I think you may need to alter this to ValgteIDNummer if thats the name of the field you wan to filter on.

and if Me.ID is a text field then you need to use

"ID = '" & Me.ID & "'"

When the form opens does it show ALL records?
Avatar billede flashit Nybegynder
23. august 2005 - 16:24 #4
where delen af min sql
WHERE (((dbo_vw_ImporteredeFejlreg1.ID)=[IDNR]))

defor benytter jeg

DoCmd.OpenForm "test_medIdNummer", , , "IDNR = " & Me.ID

Når jeg klikker på den, så åbnes en promt hvori jeg skal skrive et IDNR... Det er denne som jeg gerne vil have væk vis kode.
Avatar billede mugs Novice
23. august 2005 - 16:31 #5
Jeg plejer at bruge denne:

DoCmd.OpenForm "FORM2"
Forms!FORM2!ID.SetFocus
DoCmd.FindRecord Me!ID

Når du promptes for et IDNR er det som regel, fordi Access ikke kender feltnavnet. Findes der et felt IDNR i formularen "test_medIdNummer", Hvis der gør bør denne fungere:

DoCmd.OpenForm "test_medIdNummer"
Forms!test_medIdNummer!IDNR.SetFocus
DoCmd.FindRecord Me!ID
Avatar billede flashit Nybegynder
23. august 2005 - 16:38 #6
Fuck hvor er I gode.

Tetty. Læg venligst et svar.
Håber det er ok at I deler P'erne da der skulle to til inden jeg fattede den. Sorry.
Avatar billede mugs Novice
23. august 2005 - 16:40 #7
Hvad var fejlen?
Avatar billede terry Ekspert
23. august 2005 - 18:57 #8
.
Avatar billede flashit Nybegynder
23. august 2005 - 19:40 #9
Når du promptes for et IDNR er det som regel, fordi Access ikke kender feltnavnet. Findes der et felt IDNR i formularen "test_medIdNummer", nej der var ikke.

Grunden til at jeg troede at det ikke virkede, var at jeg ikke blev promptet når jeg kørte sql, og derfor troede at ID var et reserveret ord. Men der virker nu... Perfekt. TAK
Avatar billede mugs Novice
23. august 2005 - 19:42 #10
Selv tak - Og tak for point :o)
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