Je reprend un code dans lequle figure l'instruction suivante
rs(0).Value correpond rs dans sa totalité?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set rs1 = rs(0).Value
Je reprend un code dans lequle figure l'instruction suivante
rs(0).Value correpond rs dans sa totalité?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set rs1 = rs(0).Value
La patience est un arbre aux racines amères, mais aux fruits ci-doux.
Est ce que ça fonctionne avant tout ?
Quand je vois un Set je m'attends souvent à un New , c'est à mon avis pour instantier un objet.
Scuse me while I kiss the sky ! Jimi Hendrix
Je n'en suis pas tres sur.Envoyé par totoche
et si tu fesais
La je crois que ca marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set rs1 = rs
"Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN
En cas de Question resolu, n'oubliez pas
Oui rs1 = rs(0).value fonctionne
Voici l'utilisation du rs1, le code je le comprend c'est juste saivoir ce qui est contenu dans rs(0).value
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 'Pour info .CommandText = " SHAPE {SELECT Nom, Prenom, VRB FROM `T_TrimDTMO`} AS Command1 COMPUTE Command1 BY 'Nom'" .... With .Sections("Section1").Controls For intCtrl = 1 To .Count If TypeOf .Item(intCtrl) Is RptLabel Then .Item(intCtrl).Caption = rs1.Fields(q).Name & " :" q = q + 1 End If If TypeOf .Item(intCtrl) Is RptTextBox Then .Item(intCtrl).DataMember = "Command1" .Item(intCtrl).DataField = rs1(z).Name z = z + 1 End If Next End With
La patience est un arbre aux racines amères, mais aux fruits ci-doux.
Comment est déclaré rs1?
Si tu y mets une valeur (.Value), ce doit être une String ou un nombre.
Tu ne peux donc pas en faire un RecordSet et, par conséquent, pas de Set.
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
rs1 est un recordset
La patience est un arbre aux racines amères, mais aux fruits ci-doux.
Alors, pourquoi y mets-tu une valeur (.Value)???
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
Le contexte dans lequel j'utilise ce code :
générer un dataReport avec en-tête de groupe, et sans dataEnvironnement.
Il fonctionne très bien.
l'appel au rs1 se fait pour la section1 (détail).
si je n'utilise pas rs1 = rs(0).value mais rs1=rs alors j'ai l'erreur :
"Champ de données Command1.command1 de la propriété datafield introuvable". rs(0).Value semble être la syntaxe nessaire pour transmettre le data members du rs initial.
tout le code dont je m'inspire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim cmd As New ADODB.Command Dim rs1 As New ADODB.Recordset Private Sub Command1_Click() Dim q As Integer Dim intCtrl As Integer Dim x As Integer Dim z As Integer x = 0 q = 0 z = 0 With DataReport1 .Hide Set .DataSource = rs .DataMember = "" With .Sections("section4").Controls For intCtrl = 1 To .Count If TypeOf .Item(intCtrl) Is RptLabel Then .Item(intCtrl).Caption = "City" & " :" q = q + 1 End If If TypeOf .Item(intCtrl) Is RptTextBox Then .Item(intCtrl).DataMember = "" .Item(intCtrl).DataField = "City" End If Next End With q = 0 With .Sections("Section1").Controls For intCtrl = 1 To .Count If TypeOf .Item(intCtrl) Is RptLabel Then .Item(intCtrl).Caption = rs1.Fields(q).Name & " :" q = q + 1 End If If TypeOf .Item(intCtrl) Is RptTextBox Then .Item(intCtrl).DataMember = "Command1" .Item(intCtrl).DataField = rs1(z).Name z = z + 1 End If Next intCtrl End With .Refresh .Show End With End Sub Private Sub Form_Load() Command1.Caption = "Show Report" cn.Open "Provider=MSDATASHAPE; Data Provider=Microsoft.JET.OLEDB.4.0;" & _ "Data Source=D:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;" With cmd .ActiveConnection = cn .CommandType = adCmdText .CommandText = " SHAPE {SELECT FirstName,Lastname,City FROM `Employees`} AS Command1 COMPUTE Command1 BY 'City'" .Execute End With With rs .ActiveConnection = cn .CursorLocation = adUseClient .Open cmd End With Set rs1 = rs(0).Value End Sub
La patience est un arbre aux racines amères, mais aux fruits ci-doux.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager