Recherche dans deux tables access en sql [Résolu]

Signaler
Messages postés
151
Date d'inscription
samedi 17 juillet 2004
Statut
Membre
Dernière intervention
11 mai 2012
-
AlKatou
Messages postés
95
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
28 novembre 2017
-
de l'aide svp, vraiment je me goure
Rien ne s'affiche dans ma listview
structure table : Files

ID CDID Name Date
14097 {D6B1D60D-99BF-4B38-91FE-0398867B1023} Movies 10/10/2002
FullPath Type Size
\Movies 0 0

structure table : CDs

CDID CDLabel CDSerial CDName
{D6B1D60D-99BF-4B38-91FE-0398867B1023} 021010_1248 1404483457 Testing2
CategoryID
8
' je suis en DAO 3,6

Private Sub cmdSearch_Click
dim gobjDB as database
dim mobjRSFiles as recordeset


Dim pstrQuery As String
Dim pcurTotal As Currency
Dim pobjItem As ListItem

Enabled = False
lvSearch.ListItems.Clear

pstrQuery = "SELECT f.*,c.* FROM Files f, CDs c WHERE Name LIKE ""%" & txtSearch.Text & "%"" AND c.CDID=f.CDID;"
Set gobjDB = OpenDatabase(App.Path & "\archive.mdb")
Set mobjRSFiles = gobjDB.OpenRecordset(pstrQuery )

On Local Error Resume Next
pb.Max = mobjRSFiles.RecordCount
txtInformation = "Found " & mobjRSFiles.RecordCount & " results."
Do While Not mobjRSFiles.EOF
txtInformation = "Gathering search results..." & pb.Value + 1 & " of " & pb.Max & ", " & FormatPercent((pb.Value + 1) / pb.Max, 0) & ", " & MakeSize(CDbl(pcurTotal))
pb.Value = mobjRSFiles.AbsolutePosition
Set pobjItem = lvSearch.ListItems.Add(, mobjRSFiles("f.CDID") & mobjRSFiles("FullPath"), mobjRSFiles("CDName"), mobjRSFiles("Type") + 3, mobjRSFiles("Type") + 3)
pobjItem.SubItems(1) = mobjRSFiles("Name")
pobjItem.SubItems(2) = mobjRSFiles("FullPath")
pobjItem.Tag = "File Name: " & mobjRSFiles("Name") & vbCrLf
pobjItem.Tag = pobjItem.Tag & "Date: " & mobjRSFiles("Date") & vbCrLf
If mobjRSFiles("Type") = 1 Then
pobjItem.Tag = pobjItem.Tag & "Size: " & MakeSize(mobjRSFiles("Size")) & vbCrLf
pobjItem.Tag = pobjItem.Tag & "Type: File" & vbCrLf
Else
pobjItem.Tag = pobjItem.Tag & "Type: Directory" & vbCrLf
End If
pobjItem.Tag = pobjItem.Tag & "Path: " & mobjRSFiles("FullPath") & vbCrLf
pobjItem.Tag = pobjItem.Tag & "FileID: " & mobjRSFiles("ID") & vbCrLf
pobjItem.Tag = pobjItem.Tag & "CDID: " & mobjRSFiles("c.CDID") & vbCrLf
pobjItem.Tag = pobjItem.Tag & "CD Serial: " & mobjRSFiles("CDSerial") & vbCrLf
pobjItem.Tag = pobjItem.Tag & "CD Label: " & mobjRSFiles("CDLabel") & vbCrLf
pobjItem.Key = mobjRSFiles("c.CDID") & mobjRSFiles("FullPath")

pcurTotal = pcurTotal + mobjRSFiles("Size")

If lvSearch.ListItems.Count Mod 200 = 0 Then DoEvents

mobjRSFiles.MoveNext
Loop

pb.Value = 0
mobjRSFiles.Close
Enabled = True
end sub
Merci à l'équipe

1 réponse

Messages postés
95
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
28 novembre 2017

salut,

déjà ta variable mobjRSFiles est mal déclarée (recordset et non recordeset)
ensuite ta requete sql essais ceci plutot :

pstrQuery = "SELECT f.*,c.* FROM Files f, CDs c WHERE Name LIKE '*" & txtSearch.Text & "*' AND c.CDID=f.CDID;"


pour finir, je ne sais pas si tes parametres icon de la méthode Add de ta ListView correspondent bien a une icone de ton ImageList.

a la rigueur, désactive ton "On Local Error Resume Next" pour pouvoir faire plus facilement un débogage.

sur ce, bon dév.


alka