Aller au contenu

Base Sql


drfaustchimie

Messages recommandés

  • E-Bahut

Bonjour j'aurais besoin d'un petit peu d'aide !

Je ne connais pas grande chose en SQL mais bon...

J'ai fais un fichier acces qui contient une colonne de chiffre qui associe un nom

Par exemple :

2.45 --> A

Je souhaite créer une fenetre de recherche dans un programme (Mediator6 pro) qui gere cette base comme une base SQL.

J'applique la formule suivante :

Je considère que 2.45 est un texte (je suppose que c'est ce que veulent dire les guillemets) car aussi non le programme indique un bug dans la table (peut etre faut il enlever les guillements ou un truc comme ca?)

"SELECT * FROM Table1 WHERE Masse = '" + Entree02 + "'"

ou entree02 représente une la variable établie par le recherche

Ex : Je tape : 2.54 dans ma fenetre de recherche et donc la variable de recherche = 2.54

Seulement je voudrais que quand je tape un chiffre, si il n'existe pas tel quel dans la base, qu'il m'affiche le chiffre le plus proche correspondant existant dans la base.

Ex : Base : 1.45 --> A et 3.45 -->B

je tape dans ma recherche : 1.4 et je souhaite donc qu'il affiche les infos correspondantes à 1.45 --> A

et la je ne sais pas comment faire...

Lien vers le commentaire
Partager sur d’autres sites

Ok bah la je pense qu'il n'y a pas le choix, il faut faire plusieurs requétes !

La premier qui verifie si le chiffre demandé est présent :

SELECT Table1 WHERE masse LIKE 'valeur'

Si le chiffre est présent, c ok, terminé

Si aucun résultat :

Lire l'enregistrement le plus proche en dessous :

SELECT Table1 WHERE masse > 'valeur' ORDER BY masse ASC

on recupere la valeur x

Lire l'enregistrement le plus proche au dessus :

SELECT Table1 WHERE masse < 'valeur' ORDER BY masse DESC

on recupere la valeur y

Un petit calcul :

a=valeur-x

b=y-x

si a est superieur à b :

On récupere donc l'enregistrement le plus proche (valeur a) :

SELECT Table1 WHERE masse LIKE 'a'

sinon on récupere la valeur b :

SELECT Table1 WHER masse LIKE 'b'

Si tu ne comprends pas la logique de ce que je te raconte, n'hésite pas à me le dire ;)

Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

oui j'ai une boite de dialogue qui me dit : Si : la je dois rentrer une ligne de texte (mais je ne pense pas pouvoir effectuer une action sur la base de donnée SQL)

Alors :

script

Aussi non

Script

Mais je pense que l'on peut directement le faire en SQL non? y'a pas la fonction IF THEN en SQL?

Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

Si elle existe mais je ne pense pas pouvoir faire appel a une base sql, je peux juste dire par exemple : if variable =machin then afficher une image par exemple ou faire quelque chose dans la base de données... Mais dans la condition je ne pense pas pouvoir faire appel a quelque chose dans une base de donnée sql...

Lien vers le commentaire
Partager sur d’autres sites

  • 1 année plus tard...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...
spam filtering
spam filtering