gatagarim
-
15 oct. 2012 à 14:49
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
15 oct. 2012 à 19:17
Bonjour
j'ai un probléme au niveau de mon code: erreur de compilation Membre de methode ou de données introuvable. J'essaye de tester mes différents Sub mais ne fonctionne pas si quelqu'un peut m'aider.
Merci d'avance
voici le code:
Option Compare Database
Option Explicit
Public Function DetectionAnomalieChampBoolean(param_1 As Integer, param_2 As Integer) As Boolean
Dim TesterLesChamps As New ChampsTables
'Le param_1 est égale à param_2 s'il y a une anomalie dans les champs des tables
If (TesterLesChamps.param_1 = TesterLesChamps.param_2) Then
DetectionAnomalieChampBoolean = False
Else
DetectionAnomalieChampBoolean = True
End If
Exit Function
End Function
Sub test_DetectionDesChamps()
Dim TesterLesChamps As ChampsTables
MsgBox TesterLesChamps.DetectionAnomalieChampBoolean(False)
MsgBox TesterLesChamps.DetectionAnomalieChampBoolean(True)
End Sub
Public Function RecuperationValeurTablesInteger(T_Compte As String, NumLg As Integer, NumCol As Integer) As Integer
'La recupération des valeurs contenues dans la table T_Compte
Dim Valeurtbl As New ClasseDesVTables
Dim Rs As Recordset
Dim NOCPT As Integer
Set Rs = CurrentDb.OpenRecordset("T_Compte", dbOpenTable, dbReadOnly)
While Not Rs.EOF
MsgBox Rs!NOCPT
Rs.MoveNext
Wend
Rs.Close
Exit Function
End Function
Sub test_RecuperationDesValeurs()
Dim Valeurtb1 As String
MsgBox Valeurtbl.RecuperationValeurTableInteger()
End Sub
Public Function NumAttributTable(nomTable As String, nomAttribut As String) As Integer
Dim Attribut As New ClasseNumAttribut
Dim NumAttribuTable As String
If (Attribut.nomTable = "T_Compte") Then
MsgBox "Affiche la table T_Compte"
If (Attribut.nomAttribut = "ID_T_Compte") Then
Attribut.NumAttribuTable = 1
End If
ElseIf (Attribut.nomAttribut = "NOCPT") Then
Attribut.NumAttributTable = 2
End If
ElseIf (Attribut.nomAttribut = "CodeDepositaire_Entrant") Then
Attribut.NumAttributTable = 3
End If
ElseIf (Attribut.nomAttribut = "CodeDepositaire_Sortant") Then
Attribut.NumAttributTable = 4
End If
ElseIf (Attribut.nomAttribut = "CodeAgence_Entrant") Then
Attribut.NumAttributTable = 5
End If
ElseIf (Attribut.nomAttribut = "CodeAgence_Sortant") Then
Attribut.NumAttributTable = 6
End If
ElseIf (Attribut.nomAttribut = "Nom") Then
Attribut.NumAttributTable = 7
End If
ElseIf (Attribut.nomAttribut = "Lieu dépôt") Then
Attribut.NumAttributTable = 8
End If
ElseIf (Attribut.nomAttribut = "Quantité") Then
Attribut.NumAttributTable = 9
End If
ElseIf (Attribut.nomTable = "Agence") Then
MsgBox " Affiche la table Agence"
End If
If (Attribut.nomAttribut = "ID_Agence") Then
Attribut.NumAttributTable = 1
End If
ElseIf (Attribut.nomAttribut = "NOCPT") Then
Attribut.NumAttributTable = 2
End If
ElseIf (Attribut.nomAttribut = "CodeAgence_Entrant") Then
Attribut.NumAttributTable = 3
ElseIf (Attribut.nomAttribut = "CodeAgence_Sortant") Then
Attribut.NumAttributTable = 4
End If
ElseIf (Attribut.nomAttribut = "CodeDepositaire_Entrant") Then
Attribut.NumAttributTable = 5
End If
ElseIf (Attribut.nomAttribut = "CodeDepositaire_Sortant") Then
Attribut.NumAttributTable = 6
End If
End If
End Function
Sub testNumAttributTab()
Dim Attribut As String
MsgBox Attribut.NumAttributTable
End Sub
Public Function TailleTable(Agence As String) As Integer
Dim TesterLaTaille As New ClasseAgence
'Le nombre de lignes dans la table
Dim NBLg As String
TesterLaTaille.NBLg = "select count(*) from Agence"
Exit Function
End Function
Sub test_tailleDesTables()
Dim TesterLaTaille As String
MsgBox TesterLaTaille.TailleTable
End Sub
Sub Main()
Dim TesterLesChamps As New tpTest
'Le numero des lignes erronées dans la table
Dim creationTab() As Integer, z As Integer, i As Integer, j As Integer
Dim T_Compte As String, NOCPT As String, Agence As String
z = 0 'Choisir la 1ére ligne de la colone
For i = 1 To TailleTable(T_Compte)
Next i
Dim NOCPT_Cpt As Integer
Dim NOCPT_Agence As Integer
Dim comparaison_1 As Boolean
For j = 1 To TailleTable(Agence)
Next j
'Recupération du numéro de compte de la 1ére ligne de la table T_Compte
Valeurtbl.NOCPT_Cpt = RecuperationValeurTableInteger(T_Compte, Attribut.NumAttributTable(T_Compte, NOCPT), i)
'Recupération du NOCPT sur la 1ére ligne de la table Agence
Valeurtbl.NOCPT_Cpt = RecuperationValeurTableInteger(Agence, Attribut.NumAttributTable(T_Compte, NOCPT), j)
comparaison_1 = DetectionAnomalieChampBoolean(NOCPT_Cpt, NOCPT_Agence)
If (comparaison_1 = False) Then
'MsgBox "Anomalie"
'break
ElseIf (comparaison_1 = True) Then
'MsgBox "Pas d'anomalies"
creationTab(z) = i
z = z + 1
End If
MsgBox ChampsTables.DetectionAnomalieChampBoolean(False)
MsgBox ChampsTables.DetectionAnomalieChampBoolean(True)
MsgBox Valeurtbl.RecuperationValeurTableInteger()
MsgBox Attribut.NumAttributTable()
MsgBox TesterLaTaille.TailleTable()
Exit Sub
End Sub
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 15 oct. 2012 à 15:56
Bonjour,
Oui et sur quelle ligne ?
As-tu essayé en mode pas à pas?
Quand tu postes un code, merci d'utiliser la coloration syntaxique (3eme icone en partant de la droite).
L'expérience, c'est une connerie par jour, mais jamais la même..
C'est vrai,les problémes se situent au niveau des procedures c'est-à-dire les Sub.
j'ai un probléme au niveau de mon code: erreur de compilation Membre de methode ou de données introuvable.
voici le code:
Option Compare Database
Option Explicit
Public Function DetectionAnomalieChampBoolean(param_1 As Integer, param_2 As Integer) A
Je pense que tu aurais un sérieux besoin de fournir un code indenté et lisible. Sinon, je doute que beaucoup fassent l'effort de s'arracher les yeux et les cheveux.
j'ai un probléme au niveau de mon code: erreur de compilation Membre de methode ou de données introuvable.
Public Function DetectionAnomalieChampBoolean(param_1 As Integer, param_2 As Integer)
Donc, param_1 et param_2 sont inexistants, non déclarés ou du mauvais type.
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 15 oct. 2012 à 19:17
Bonjour,
Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).
Code illisible, j'attends qu'il soit mise en forme.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site