Avatar billede -anders- Juniormester
19. marts 2004 - 21:25 Der er 24 kommentarer og
1 løsning

Recordset til listviewcontrol (sp6) med kriterier

Hej Eksperter
Nedenstående kode er leveret af Terry, og fylder data i et activeX (Microsoft ListviewControl SP6), dette virker perfekt:

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 Qaction", , , adLockOptimistic
 
Do Until .EOF
 
     
Set itmX = lstaction.ListItems.Add(, , rs!ID)
     
itmX.SubItems(1) = rs![Subject]
itmX.SubItems(2) = rs![Created]
                               
           
.MoveNext
       
  Loop
       
  End With
   
   
rs.Close

mit spørgsmål er om man kan nøjes med at fylde data ind med et kriterie i stedet for alle records fra Qaction. I Qaction ligger der flere records med samme ID og det er denne Id jeg gerne vil spørge på i ovenstående kode, hvis der feks. er 100 records i Qaction og de 10 af dem svare til den ID jeg har på min form i forvejen ønsker jeg kun at vise data i activex'en som har denne Id feks. Me.ID, kan dette lade sig gøre.

Arbejder i access 2000 og 2002

mvh Anders.
Avatar billede kabbak Professor
19. marts 2004 - 21:59 #1
.Open "Select * From Qaction Where ID = " & Me.ID, , , adLockOptimistic

ca. såden
Avatar billede -anders- Juniormester
19. marts 2004 - 22:04 #2
Hej Kabbak
Tak for indlægget, jeg har testet, men det virker desværre ikke. Når jeg prøver dit forslag går hele db,en død, det virker som om at løkken aldrig stopper, og jeg må så taste Ctrl Break for at stoppe det, har du andre forslag

Anders
Avatar billede kabbak Professor
19. marts 2004 - 22:18 #3
.Open "Select * From Qaction where [ID] Like " & Me.ID, , , adLockOptimistic


prøv dette
Avatar billede -anders- Juniormester
19. marts 2004 - 22:19 #4
Okay prøver
Avatar billede -anders- Juniormester
19. marts 2004 - 22:22 #5
Hej igen
Desværre, samme problem som 19/03-2004 22:04:43, det lidt mærkeligt, for syntaxen virker sådan set rigtig nok, det kunne måske være at linjerne i koden skulle byttes om, men har prøvet, syntes ikke at hjælpe, hulk
Avatar billede kabbak Professor
19. marts 2004 - 22:24 #6
Det virker hos mig i access 2000, hvilket format har Feltet ID i tabellen Qaction

Hvad er dit felt Me.ID er det et ubundet felt
Avatar billede -anders- Juniormester
19. marts 2004 - 22:26 #7
Feltet Id er et langt heltal, og det er ikke et ubundet felt
Avatar billede -anders- Juniormester
19. marts 2004 - 22:40 #8
Når jeg debugger efter Ctrl Break, debugger koden på .MoveNext og Loop
Avatar billede kabbak Professor
19. marts 2004 - 22:43 #9
Når feltet Me.ID ikke er ubundet, hvad er det så bundet til. ?

Er du sikker på at det du har i Me.ID eksisterer i  Feltet ID i Tabellen Qaction
Avatar billede -anders- Juniormester
19. marts 2004 - 22:49 #10
Feltet er bundet til feltet ID i tabellen, ja ID findes, dog er der nu sket noget nyt i sagen *SS* nu dør db ikke, men der vises ikke nogen data, hvis du har mod på det, kan jeg sende db til dig
Avatar billede kabbak Professor
19. marts 2004 - 22:50 #11
prøv sendtil#kabbak@tiscali.dk

fjern sendtil#
Avatar billede -anders- Juniormester
19. marts 2004 - 22:55 #12
Okay sender om et øjeblik
Avatar billede -anders- Juniormester
19. marts 2004 - 22:55 #13
Er sendt
Avatar billede -anders- Juniormester
19. marts 2004 - 23:10 #14
Hej Kabbak
Nu viker det, det var i al sin enkelhed et objektnavn der ikke var korret, en rigtig fejl 40, dine velfortjente points er på vej til dig. sorry alt det besvær, god weekend.
mange hilsner Anders.
Avatar billede -anders- Juniormester
19. marts 2004 - 23:10 #15
Drop et svar så du kan få dine points
Avatar billede kabbak Professor
19. marts 2004 - 23:11 #16
Dit navn i koden lstaction var ikke den samme som lstactions, som du kalder den på formularen.

er rettet her i koden.

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 Qactions where [ID] like " & Me.ID, , , adLockOptimistic
'.Open "Select * From Qactions", , , adLockOptimistic

 
Do Until .EOF
 
     
Set itmX = lstactions.ListItems.Add(, , rs!ID)
     
itmX.SubItems(1) = rs![Subject]
itmX.SubItems(2) = rs![Created]
                               
           
.MoveNext
       
  Loop
       
  End With
   
   
rs.Close

End Sub
Avatar billede -anders- Juniormester
19. marts 2004 - 23:15 #17
Ved det beklager meget besværet så det et øjeblik efter jeg sendte db til dig, hulk
Avatar billede kabbak Professor
19. marts 2004 - 23:16 #18
virker den så nu ??
Avatar billede -anders- Juniormester
19. marts 2004 - 23:17 #19
Ja den virker perfekt, drop et svar
Avatar billede kabbak Professor
19. marts 2004 - 23:18 #20
Et svar. ;-))

hvordan skifter du post på Me.ID ?
Avatar billede -anders- Juniormester
19. marts 2004 - 23:19 #21
Først dine velfortjente point *SSS* stort smil herfra
Avatar billede kabbak Professor
19. marts 2004 - 23:20 #22
tak for pointz ;))
Avatar billede -anders- Juniormester
19. marts 2004 - 23:21 #23
Jo meningen er at brugeren for en startform med alle contacts, når så brugeren dobbeltklikker på en records i startformen åbnes den form du har fået i tilsendt db
Avatar billede kabbak Professor
19. marts 2004 - 23:22 #24
Ok, det er forstået
Avatar billede -anders- Juniormester
19. marts 2004 - 23:25 #25
Grunde til at jeg ikke bruger en "alm liste" er at activex controllen er mere felksibel i forhold til design. Slut herfra endnu engang tak for hjælpen, og sov godt
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