SQL +BV6

najsoussi Messages postés 16 Date d'inscription samedi 6 février 2010 Statut Membre Dernière intervention 23 avril 2010 - 16 avril 2010 à 13:17
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 17 avril 2010 à 10:07
Bonjour ;
y a t'il un moyen beh une fonction qui arrondi un nombre calculé dans une requete SQL dans VB6
je compte sur vous
merci

6 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 avril 2010 à 15:19
Salut
Quel SQL ?
Access, SQL Server, mySQL, T-SQL ?
Certains ont des mots clés spécifiques
Regarde du côté de Round, Floor, Ceiling, Truncate, Decimal

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 avril 2010 à 15:20
Remarque, arrondir les données par SQL : pas obligé
Tu peux aussi faire ce formatage par VB lorsque tu affiches les données --> Format.
Tout dépend ce que tu fais des champs.
0
najsoussi Messages postés 16 Date d'inscription samedi 6 février 2010 Statut Membre Dernière intervention 23 avril 2010
16 avril 2010 à 18:41
Merci Jack pour la réponse
c'est access2003 + VB6
j'ai essayé avec ROUND, Floor, TRUNCATE, DECIMAL
mais il retourne une erreur fonction non défini dans l'expression
le champs est affiché dans une listview
y a t'il une bibliothèque que je dois l'ajouter ???
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 avril 2010 à 19:46
Oui et non pour la bibliothèque : De quels types sont tes Connection et RecordSet ? dimensionné comment ? DAO ou ADO ?
Comment as-tu utilisé ces fonctions ?
Une erreur VB ou une erreur SQL ?
Sans élément de ce que tu as écrit, difficile de te répondre.

C'est bien VB6 et pas VBA version 6 ?

J'ai personnellement pris le temps de tester Round
    rs.Open "Select [monNuméro], AutreNumero, " & _
            "       Round([monNuméro] / AutreNumero, 2) As Calcul " & _
            "  From maTable", conn, adOpenStatic, adLockReadOnly
me renvoie bien un nombre avec deux chiffres après la virgule (dans cet exemple)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
najsoussi Messages postés 16 Date d'inscription samedi 6 février 2010 Statut Membre Dernière intervention 23 avril 2010
16 avril 2010 à 20:16
Salut Jack

Code visual basic
Rs.Open "SELECT T1.DATE_PROD, T1.DESIG_EQUIPE, T1.CODE_ILOT, T1.DESIG_SEANCE, T1.NOMBRE_OPERATEUR, T1.CODE_PRODUIT, T1.QANTITE_PRODUITE, T2.TEMPS_D_OUVERTURE, Round(T2.Temps_D_OUVERTURE * T1.NOMBRE_OPERATEUR/T1.QANTITE_PRODUITE,0) AS KOSU FROM PRODUIRE T1, REGIME_HORAIRE T2 where (T1.DESIG_SEANCE = T2.DESIG_SEANCE) ORDER BY DATE_PROD DESC ", Db, adOpenKeyset, adLockOptimistic
et ben sans Round ca marche mais avec beaucoup de chiffres après la virgule
mais avec ce round il me dit erreur fonction round non définie dans l'expression
il s'agit de VB6, access 2003 et ADO
merci
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 avril 2010 à 10:07
- Montre tes déclarations de variables 'Db' et 'Rs'

- Ta syntaxe SQL est bonne.
Il n'y a que Temps_D_OUVERTURE qui n'est pas orthographié de la même manière, mais je ne me rappelle plus si la casse est stricte sous SQL.
Dans ta DB, de quel types sont les champs utilisés dans le Round ? peut-être qu'il n'aime pas les chaines pour faire des calculs.

- Ajoute ça avant le Rs.Open :
    Rs.CursorLocation = adUseClient

- adOpenKeyset et adLockOptimistic m'étonnent.
Essaye d'utiliser adOpenStatic et adLockReadOnly

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous