Avatar billede larsgrau Forsker
06. maj 2010 - 13:31 Der er 6 kommentarer og
1 løsning

bookmarks fra en form til en anden

Hej

jeg har lavet dette i en formular som er en tabel formular, der er en masse poster under hinanen og jeg kan godt får det at at virke på et felt i en record, men jeg ville gerne have det virker på alle felter i formularen.

Private Sub Frequency_Average_DblClick(Cancel As Integer)
DoCmd.Close acForm, "qry_rettetdata"
DoCmd.OpenForm "qry_rettetdata", acNormal, , , acFormReadOnly, acWindowNormal, Me.Frequency_Average

End Sub

Private Sub PRI_Average_DblClick(Cancel As Integer)
DoCmd.Close acForm, "qry_rettetdata"
DoCmd.OpenForm "qry_rettetdata", acNormal, , , acFormReadOnly, acWindowNormal, Me.PRI_Average
End Sub

i den formular den åbener gør den dette:
Private Sub Form_Open(Cancel As Integer)


If Not IsNull(Me.OpenArgs) Then
    Dim auto As Long
    Dim rs As Object
   
    Set rs = Me.Recordset.Clone
    auto = Val(Me.OpenArgs)
    rs.FindFirst "[Frequency Average]=" & auto
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End If

End Sub

og det virker også ok, men Frequency Average kolonen men ikke hvis jeg doubler klikker på PRI average kolonen så virker det ikke. nogen som har et godt bud ????


/lars
Avatar billede terry Ekspert
06. maj 2010 - 13:59 #1
As far as I can make it you will need to have two values in the OpenArgs paramater. One for the field to search on and another for the actual value.
Avatar billede larsgrau Forsker
06. maj 2010 - 14:02 #2
ja oki, men hvor skal jeg lige sætte dem ind henne ??
Avatar billede terry Ekspert
06. maj 2010 - 14:05 #3
You could send the two values in a string with a seperator but then you would need to seperate the values again using code.

Another idea is to have two global variables which you use to pass the data on between forms.
Avatar billede larsgrau Forsker
06. maj 2010 - 14:11 #4
Som denne ??


If Not IsNull(Me.OpenArgs) Then
    Dim auto As Long
    dim pri average as long ???????
    Dim rs As Object
 
    Set rs = Me.Recordset.Clone
    auto = Val(Me.OpenArgs)
    rs.FindFirst "[Frequency Average]=" & auto
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End If
Avatar billede terry Ekspert
06. maj 2010 - 14:29 #5
In a module

Public auto As Long
Public fld As String


This assumes that the field values you will search on have teh same data type (long integer). If they dont then things arent the same.

Then in each fields on Click event

Auto = Me.NameOfField 'example Auto = Me.PRI_Average
fld = "PRI_Average"



and in the other form where you no longer use openargs

rs.FindFirst fld & " = " & auto
Avatar billede larsgrau Forsker
05. september 2010 - 10:59 #6
Tak det virker
Avatar billede terry Ekspert
05. september 2010 - 18:47 #7
"Tak det virker"

What works? If the answer I gave at #5 works then should I get the points?
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