ACCESS97, un module marche à moitié?
Résolu
AGR26
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
AGR26 Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
AGR26 Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Alors voilà, je travaille sur une base de données sur ACCESS 97 sur l'ensemble des ouvrages en terre sensibles des voies ferrées. Dans ma requête union, j'ai inséré une dizaine de table et un module et le problème est que lorsque j'ai exécuté la requête, la colonne où j'appelle le module montre #Erreur seulement sur les dernières données que j'ai rentrée (environ 110).
Ma Requête marche parfaitement. Je suppose qu'il s'agit du module...
Mais voilà, ce n'est pas moi qui ai créé le module et je n'ai pas une superbe connaissance en VBA... Après m'être informé, j'ai cherché l'erreur dans le module mais je ne l'ai pas trouvé...
voici le code:
Function Cherche_Incidents_Pondere(Id As Integer) As String
'Cette fonction va retourner le nombre d'incidents graves ainsi que le nombre d'incidents peu graves du demi ouvrage
Dim dbs As Database
Dim rst As Recordset
Dim strSQL As String
Dim A As Integer
Dim B As Integer
Dim Retour$
'A compteur des graves et Bcompteur des peu graves
strSQL = "SELECT [INCIDENTS].[N°gravité] from [INCIDENTS] WHERE ([INCIDENTS].[ID 1/2OTDMS]=" + Trim$(Str$(Id)) + ");"
On Error GoTo Pbdb
Set dbs = CurrentDb
On Error GoTo 0
On Error GoTo PbSQL
Set rst = dbs.OpenRecordset(strSQL)
On Error GoTo 0
A = 0
B = 0
Do While Not rst.EOF
If (rst![N°gravité] = 1) Or (rst![N°gravité] = 2) Or (rst![N°gravité] = 3) Then
A = A + 1
Else
B = B + 1
End If
rst.MoveNext
Loop
rst.Close
fin:
Cherche_Incidents_Pondere = Trim$(Str$(A)) + "!" + Trim$(Str$(B))
Exit Function
Pbdb:
A = 0
Resume fin
PbSQL:
A = 0
Resume fin
End Function
Voyez vous un problème?
Je vous remercie d'avance
Anne-Gaëlle
Alors voilà, je travaille sur une base de données sur ACCESS 97 sur l'ensemble des ouvrages en terre sensibles des voies ferrées. Dans ma requête union, j'ai inséré une dizaine de table et un module et le problème est que lorsque j'ai exécuté la requête, la colonne où j'appelle le module montre #Erreur seulement sur les dernières données que j'ai rentrée (environ 110).
Ma Requête marche parfaitement. Je suppose qu'il s'agit du module...
Mais voilà, ce n'est pas moi qui ai créé le module et je n'ai pas une superbe connaissance en VBA... Après m'être informé, j'ai cherché l'erreur dans le module mais je ne l'ai pas trouvé...
voici le code:
Function Cherche_Incidents_Pondere(Id As Integer) As String
'Cette fonction va retourner le nombre d'incidents graves ainsi que le nombre d'incidents peu graves du demi ouvrage
Dim dbs As Database
Dim rst As Recordset
Dim strSQL As String
Dim A As Integer
Dim B As Integer
Dim Retour$
'A compteur des graves et Bcompteur des peu graves
strSQL = "SELECT [INCIDENTS].[N°gravité] from [INCIDENTS] WHERE ([INCIDENTS].[ID 1/2OTDMS]=" + Trim$(Str$(Id)) + ");"
On Error GoTo Pbdb
Set dbs = CurrentDb
On Error GoTo 0
On Error GoTo PbSQL
Set rst = dbs.OpenRecordset(strSQL)
On Error GoTo 0
A = 0
B = 0
Do While Not rst.EOF
If (rst![N°gravité] = 1) Or (rst![N°gravité] = 2) Or (rst![N°gravité] = 3) Then
A = A + 1
Else
B = B + 1
End If
rst.MoveNext
Loop
rst.Close
fin:
Cherche_Incidents_Pondere = Trim$(Str$(A)) + "!" + Trim$(Str$(B))
Exit Function
Pbdb:
A = 0
Resume fin
PbSQL:
A = 0
Resume fin
End Function
Voyez vous un problème?
Je vous remercie d'avance
Anne-Gaëlle
A voir également:
- ACCESS97, un module marche à moitié?
- Moitié a4 - Guide
- Module d'expérience locale francais ✓ - Forum Matériel & Système
- Cisco eap fast module - Forum Windows 8 / 8.1
- Igfxtray module ✓ - Forum Virus
- Pas de module ci - Forum TV & Vidéo
1 réponse
Bon, après quelques semaines... J'ai enfin trouvé le problème. Je me suis rendue compte que les lignes qui ne marchaient pas avaient un ID 1/2OTDMS supérieurn à 34 000. Il faut juste enlever sur la 1ere ligne du module "as integer" au niveau de l'id. il s'agit juste d'une variante et là, tout est pris en compte!