Problème de champs dans Code VBA
Bonsoir,
Je me retrouve avec un lèger problème dans mon code.
Code:
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
|
Option Explicit
Public Const BaseDeDonnees = "C:\Documents and Settings\david\Bureau\EXPLOITATION"
Public Function toto2(Equipe As String) As String
On Error GoTo Err_toto2
Dim res As DAO.Recordset
Dim SQL As String
Dim TableauControle()
Dim i%, j%
Dim varExiste As String
'Selectionne les services du projet
SQL = "SELECT libmission FROM [T_Données] WHERE nomtour='" & Equipe & "'AND typetravail = 'CDT' AND libmission IS NOT NULL ORDER BY libmission ASC"
i = 1
varExiste = "non"
Set res = CurrentDb.OpenRecordset(SQL)
ReDim Preserve TableauControle(1)
'Concatene les différents enregistrements
While Not res.EOF
If i = 1 Then
TableauControle(1) = res.Fields(0).Value
Else
For j = 1 To i - 1
If TableauControle(j) = res.Fields(0).Value Then
varExiste = "oui"
Exit For
End If
Next j
End If
If varExiste = "non" Then
TableauControle(i) = res.Fields(0).Value
toto2 = toto2 & res.Fields(0).Value & " - "
Else
varExiste = "non"
End If
res.MoveNext
i = i + 1
ReDim Preserve TableauControle(i)
Wend
'Enleve le dernier espace et le tiret
toto2 = Left(toto2, Len(toto2) - 2)
'libere la mémoire
Set res = Nothing
Exit_toto2:
Exit Function
Err_toto2:
MsgBox Err.Description
Resume Exit_toto2
End Function |
Lorsque je change le type travail CDT par SCO, ça ne marche plus.
Si vous avez une solution, merci de m'apporter votre aide car je démarre tout juste avec ACCESS.
Code:
1 2 3 4 5 6
| Selectionne les services du projet
SQL = "SELECT libmission FROM [T_Données] WHERE nomtour='" & Equipe & "'AND typetravail = 'CDT' AND libmission IS NOT NULL ORDER BY libmission ASC"
i = 1
varExiste = "non"
Set res = CurrentDb.OpenRecordset(SQL)
ReDim Preserve TableauControle(1) |
Au besoin, je joins mon fichier access http://www.cijoint.fr/cjlink.php?fil...cijd2kHhgr.zip
Merci, david