Avatar billede -anders- Juniormester
09. marts 2004 - 19:49 Der er 20 kommentarer og
1 løsning

Datakilde til Listviewcontrol (activex)

Hej eksperter
I dette spørgsmål http://www.eksperten.dk/spm/441850, som Terry fint havede en løsning til, vil jeg nu gerne udvide lidt, så spørgsmålet er:

Er det muligt at åbne en form som viser posten der svare til den record der er makeret på listviewcontrollen, det skulle gerne fungere ved et dobbeltklik på recorden. Jeg er bekendt med at dette sagtens kan lade sig gøre hvis jeg benytter en "alm" liste, men kunne godt tænke mig en løsning på listviewcontrollen i stedet, nogen gode ideer.

mvh Anders.
Avatar billede -anders- Juniormester
09. marts 2004 - 19:50 #1
Arbejder i access2000
Avatar billede terry Ekspert
09. marts 2004 - 19:54 #2
docmd.OpenForm "TheForm",,,"ID = " & Me.Liste0.Column(0)
Avatar billede terry Ekspert
09. marts 2004 - 19:55 #3
Ah! maybe I'm a bit too fast there! Back in five :o)
Avatar billede -anders- Juniormester
09. marts 2004 - 19:56 #4
Hæ hæ Terry
ja det tror jeg, venter spændt :o)
Avatar billede terry Ekspert
09. marts 2004 - 20:01 #5
item.text gives you the value of the text
Avatar billede -anders- Juniormester
09. marts 2004 - 20:03 #6
Ok
Jeg ønsker så at åbne formen, og få vist den record som jeg dobbeltklikker på, nøglen skal jo så være noget unikt som jeg kan henvise til på controllen
Avatar billede terry Ekspert
09. marts 2004 - 20:04 #7
and if you have used the key field which is NOT needed then
item.key gives you this!

This is done in the Item click event. You could catch the record chosen in the click event and then if you get a double click open the form
Avatar billede -anders- Juniormester
09. marts 2004 - 20:06 #8
Lyder fint, men desværre har jeg nok brug for et eksemple for at komme videre, jeg er villig til at give flere points :o)
Avatar billede terry Ekspert
09. marts 2004 - 20:09 #9
no 100 is fine (if we find a solution)

will just put something together
Avatar billede -anders- Juniormester
09. marts 2004 - 20:10 #10
Okay
Det haster ikke, så giv dig bare god tid :o)
Avatar billede terry Ekspert
09. marts 2004 - 20:20 #11
In the previous question we used this code to fill in the columns
Do Until .EOF
     
            Set itmX = lstPersoner.ListItems.Add(, , rs!ID)
           
            itmX.SubItems(1) = rs!EfterNavn
            itmX.SubItems(2) = rs!Fornavn
            itmX.SubItems(3) = rs!Telefon
            itmX.SubItems(4) = rs!Mail
           
            .MoveNext
           
        Loop

So you should (I think) hav a unique ID in the first column, is that not correct?

If so, try this.
Make a varaible at the top of the form (not in any sub or function)

Example:

Private ID as Long

Now in the click event

ID = Item.text

Now in the double click

docmd.OpenForm "TheForm",,,"ID = " & ID
Avatar billede -anders- Juniormester
09. marts 2004 - 20:23 #12
Okay, tester lige og vender tilbage om 5 minutter
Avatar billede -anders- Juniormester
09. marts 2004 - 20:29 #13
Hej igen
Det driller desværre noget, kunne jeg sende db til dig den fylder kun 200KB
Avatar billede terry Ekspert
09. marts 2004 - 20:33 #14
OK!
NOSPAMeksperten@santhell.dkNOSPAM (compact then zip)

and remove NOSPAM
Avatar billede -anders- Juniormester
09. marts 2004 - 20:38 #15
Okay sender den, bemærk at feltangivelser og datatyper er lidt anderledes end det oprindelige spørgsmål, men ideen er den samme
Avatar billede -anders- Juniormester
09. marts 2004 - 21:09 #16
Hej Terry
Ja det virker jo perfekt, jeg forstår det meste, der hvor jeg gik kold var i hele syntaksen omkring Item politikken. Du skal have mange tak for hjælpen, det var bare alletiders, jeg lærte en masse af det, vender nok tilbage om en rum tid med flere spørgsmål omkring dette, jeg dropper din kode her på E, så andre kan se havd vi fandt ud af. læg et svar så er Points på vej til dig.

mange hilsner Anders
Avatar billede -anders- Juniormester
09. marts 2004 - 21:11 #17
Koden der virker:
Option Compare Database


Private sItem As String


Private Sub Form_Open(Cancel As Integer)
On Error Resume Next
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim itmX As ListItem
   
  Set rs = New ADODB.Recordset
  With rs
       
      Set .ActiveConnection = CurrentProject.Connection
       
        .Open "Select * From tblservere", , , adLockOptimistic
   
      Do Until .EOF
      Set itmX = lstservere.ListItems.Add(, , rs!Servernavn)
     
          itmX.SubItems(1) = rs!Serverrum
          itmX.SubItems(2) = rs!OS
          itmX.SubItems(3) = rs!Servicepack
          itmX.SubItems(5) = rs!Kommentar
       
         
           
           
            .MoveNext
           
      Loop
       
    End With
    rs.Close
 
   
End Sub

Private Sub lstservere_DblClick()
    DoCmd.OpenForm "frmregserver", , , "Servernavn = '" & sItem & "'"
End Sub

Private Sub lstservere_ItemClick(ByVal Item As Object)
    sItem = Item.Text
   
End Sub
Avatar billede -anders- Juniormester
09. marts 2004 - 21:14 #18
Okay, der jo sådan set svaret 09/03-2004 19:54:06, så her er points.
Avatar billede terry Ekspert
09. marts 2004 - 21:17 #19
tak
Avatar billede -anders- Juniormester
09. marts 2004 - 21:21 #20
Det mig der takker,det simpelthen nogle kanongode eksperter her på E. nu det hjemad til et glas vin og lidt at spise. Sov godt
Avatar billede terry Ekspert
09. marts 2004 - 21:24 #21
: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