Problème SQL sous ACCESS

Problème SQL sous ACCESS - SQL/NoSQL - Programmation

Marsh Posté le 17-01-2006 à 17:51:50    

(SELECT [champ] FROM [Table] WHERE [champ] REGEXP ".fr" )
 
voici la requete que j'ai tapée sur une table "Table1" champ "champ"
(dans le champ criteria, création requete...
 
et Acces me dit que ça plante...
or il me semble avoir suivi l'aide...
 
Où me suis-je planté ?
merci


---------------
http://www.ypikay.com
Reply

Marsh Posté le 17-01-2006 à 17:51:50   

Reply

Marsh Posté le 17-01-2006 à 18:51:29    

Pourrais-tu donner la requête réellement tapée ?
 
Est-ce que la requête est saisie en mode SQL ou bien dans le mode graphique où l'on voit les tables en haut, et des champs de saisie en bas ?
 
Si tu a déjà travaillé avec d'autres bases de données, je te conseillerais d'utiliser le mode SQL.

Reply

Marsh Posté le 17-01-2006 à 20:36:36    

dans le mode graphique... avec les colonnes qui s'affichent, et en dessous on choisit champ - table - tri - montrer... (chez moi c'est en anglais)
mais oui je connais le SQL seulement je vourais faire ca en mode local : je copie plus de 50000 enregistrements et acces me permet de les trier edt supprime tout seul les doublons => gain de temps


---------------
http://www.ypikay.com
Reply

Marsh Posté le 17-01-2006 à 21:41:42    

J'ai pas compris comment tu t'y prends et ce que tu veux exactement ne prend pas mal mais c'est pas clair du tout...
 
Ceci étant ta chause where n'a pas une syntaxe correcte donc normal que tu te fasses jeter :
1) il manque un opérateur entre la colonne et la valeur cible
2) le clause [champ] Regexp "fr" n'a aucun sens
 
Admettons tu as une table (c'est une structure !!! pas une requete) que tu as nommé Table1
Tu as defini des colonnes col1, col2, col3....
 
Pour construire une reqête si tu veux tous les champs sur un critère de la colonne 3 :
select * from Table1 Where Table1.col3 = "fr";
 
Si tu veux le champ1 et le cham3
select table1.col1, table1.col2 from Table1 Where Table1.col3 = "fr";
 
Les crochets sont à utilisés si tu as des colonnes de ta table qui ont été nommées avec des espaces exemple :[colonne 2]. Sinon ils sont inutiles et allourdisent la lisibilité
 
Bon SQL
@+

Reply

Marsh Posté le 17-01-2006 à 21:43:17    

il reconnais le REGEXP ACCES ou pas ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 17-01-2006 à 21:44:57    

ben j'ai copié l'aide d'ACCESS
et je veux chercher les champs qui CONTIENNENT .fr non pas ceux qui sont = .fr


---------------
http://www.ypikay.com
Reply

Marsh Posté le 18-01-2006 à 00:11:36    

Access supporte les regexp standard de SQL, c'est-à-dire "=", ">", "<", "like", etc. Ce n'est pas le regexp d'Unix.
 
Pour le cas en question, il faut faire :

SELECT [champ] FROM [Table] WHERE [champ] LIKE "*.fr"

L'utilisation de "LIKE" est du SQL standard. La petite subtilité avec Access, ce sont les caractères jokers (wildcard) qui sont différents du standard, car au lieu de "%", il faut mettre "*".

Reply

Marsh Posté le 18-01-2006 à 00:12:42    

Ahhhhh.... l'étoile remplace un REGEXP avant ou après comme le %...
Merci


---------------
http://www.ypikay.com
Reply

Marsh Posté le 19-01-2006 à 09:25:51    

N'oublie pas que tu as une aide asez bien documenté dans Access...
Ca peut servir a vérifier l'existence de certain mots clef et leur usage aussi...
 

Reply

Marsh Posté le 19-01-2006 à 12:11:49    

oui mais JUSTEMENT j'ai cherché dans l'aide d'ACCESS et j'ai pas trouvé


---------------
http://www.ypikay.com
Reply

Marsh Posté le 19-01-2006 à 12:11:49   

Reply

Marsh Posté le 19-01-2006 à 12:54:43    

erwan83 a écrit :

oui mais JUSTEMENT j'ai cherché dans l'aide d'ACCESS et j'ai pas trouvé


Reply

Marsh Posté le 19-01-2006 à 12:56:57    

Justement... Quand tu ne trouves pas d'info sur un mot clef de language c'est qu'il y a probablement une anguille...  
Enfin, de toute façon c'est impossible de tout savoir
 

Reply

Marsh Posté le 19-01-2006 à 17:17:10    

il me semble avoir vu que le REGEXP 'recherche' de MySQL serait similaire à LIKE '*recherche'
Des idées la dessus ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 20-01-2006 à 18:54:14    

Access supporte aussi le %, donc autant l'utiliser.
 
Quand à REGEXP, chais pas d'où tout le monde le sort en ce moment, met foutez-moi ça à la poubelle, y'a AUCUN (ou presque) SGBD qui supporte ça.

Reply

Marsh Posté le 20-01-2006 à 18:59:41    

donc LIKE %requete% marche mieux ?
au fait j'ai pas trouvé d'exemples pour ces deux petits problemes :
UNIQUE (comment on fait une requete pour sortir les enregistrements uniques ?)
MATCH (rien dans mon bouquin)
....
Heu ? coup de main ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 20-01-2006 à 20:12:12    

UNIQUE : select distinct champs from table where clauses order by tri

Reply

Marsh Posté le 20-01-2006 à 20:13:11    

MATCH : comprends pas, tu bosses avec Access ou MySQL là ??? Cherche "mysql FULLTEXT SEARCH" dans Google. Le bouquin c'est pour de la référence, t'as pas tout dedans.

Reply

Marsh Posté le 20-01-2006 à 20:16:51    

j'ai du mal avec la structure propre de la requete
j'ai tapé ça et ça n'a pas marché
 
UNIQUE : select `IP` from `login`  
 
IP est un champ
login est une table


---------------
http://www.ypikay.com
Reply

Marsh Posté le 20-01-2006 à 20:19:22    

ben en fait je t'invite à lire ce topic
 
http://forum.hardware.fr/hardwaref [...] 3318-1.htm
 
et je pense que ca sera clair...
le moteur sur lequel je bosse est en SQL mais j'ai aussi un autre petit truc en Access tout con...


---------------
http://www.ypikay.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed