[ACCESS 97] problème sur nouvelles données
Résolu/Fermé
AGR26
Messages postés
16
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
16 octobre 2008
-
18 sept. 2008 à 09:37
AGR26 Messages postés 16 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 16 octobre 2008 - 16 oct. 2008 à 08:25
AGR26 Messages postés 16 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 16 octobre 2008 - 16 oct. 2008 à 08:25
A voir également:
- [ACCESS 97] problème sur nouvelles données
- Effacer les données de navigation - Guide
- Reinstaller windows sans perte de données - Guide
- Germain veut gérer les activités de son association avec une base de données. il a commencé à créer des tables dans un fichier, mais il n’est pas sûr du résultat. le fichier à télécharger contient uniquement le schéma de cette base de données. en l’état actuel, que peut-on en déduire ? - Forum Outlook
- Exemple base de données access à télécharger gratuit - Forum Access
- Célia doit nettoyer le tableau ci-dessous pour l’ajouter à la base de données de son entreprise. les données sont ensuite traitées automatiquement. quelles sont les 4 cellules qui risquent de poser problème ? ✓ - Forum Excel
5 réponses
AGR26
Messages postés
16
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
16 octobre 2008
1
7 oct. 2008 à 11:41
7 oct. 2008 à 11:41
Bonjour,
J'ai essayé de séparer ma requête en plusieures tables mais... le module ne marche quand même pas pour mes nouvelles données...
Il s'agit donc d'un problème sur le module plutot que sur la requête Union... j'ai regardé attentivement mon module mais je n'ai pas eu l'éclair de génie sur ce qui n'allait pas...
Mon module est le suivant:
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
J'ai essayé de séparer ma requête en plusieures tables mais... le module ne marche quand même pas pour mes nouvelles données...
Il s'agit donc d'un problème sur le module plutot que sur la requête Union... j'ai regardé attentivement mon module mais je n'ai pas eu l'éclair de génie sur ce qui n'allait pas...
Mon module est le suivant:
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
Le paramètre qui a changé avant l'injection de tes nouvelles données, doit y être pour quelque chose.
Pourrais-tu nous donner ta requête SQL?
Qu'est que tu cherches à faire via ta requête Union?
Pourrais-tu nous donner ta requête SQL?
Qu'est que tu cherches à faire via ta requête Union?
Essayes de voir avec des INNER JOIN et créer une nouvelle table et ensuite éxécuter une reqûete moins lourde pour faire ce dont tu as besoin.
AGR26
Messages postés
16
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
16 octobre 2008
1
18 sept. 2008 à 10:12
18 sept. 2008 à 10:12
Et bien, le problème est que les paramètres ont juste été transférés d'une table à une autre. Ces paramètres sont: "Années travaux" (de 1 à 5) et "type de classement".
Le problème c'est que le module qui ne marche pas concerne ma table incident (qui est relié à ma table 1/2 ouvrage par la clé primaire de celle ci - table où les nouveaux champs ont été inséré).
Ce que je ne comprend pas c'est pourquoi dans ma requête les anciennes données ne posent pas de problème et s'affichent au niveau du champ ou le module est utilisé alors que les nouvelles données non.
Ma requête Union me sert à lier au moins 10 tables (si ce n'est plus!) pour me permettre de faire un recensement exhaustif du patrimoine des ouvrages en terre ferroviaires.
Je n'ai pas réussi à joindre ma requête...
Le problème c'est que le module qui ne marche pas concerne ma table incident (qui est relié à ma table 1/2 ouvrage par la clé primaire de celle ci - table où les nouveaux champs ont été inséré).
Ce que je ne comprend pas c'est pourquoi dans ma requête les anciennes données ne posent pas de problème et s'affichent au niveau du champ ou le module est utilisé alors que les nouvelles données non.
Ma requête Union me sert à lier au moins 10 tables (si ce n'est plus!) pour me permettre de faire un recensement exhaustif du patrimoine des ouvrages en terre ferroviaires.
Je n'ai pas réussi à joindre ma requête...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
AGR26
Messages postés
16
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
16 octobre 2008
1
16 oct. 2008 à 08:25
16 oct. 2008 à 08:25
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!