begin process at 2010 03 20 08:03:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Problème avec une requête

 > 

Phpmyadmin ok pas access


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Phpmyadmin ok pas access

vendredi 16 septembre 2005 à 17:24:45 | Phpmyadmin ok pas access

LABAUDE

Bonjour,

Impossible de convertir la requete suivante fonctionnant avec phpmyadmin en requete pour un site en asp et une base access. Pouvez vous m'aider?

SELECT DISTINCT (
dictionary_keywords.label_fr
), dictionary_concepts.id_indices, dictionary_keywords.id
FROM dictionary_keywords
INNER JOIN dictionary_concepts ON dictionary_keywords.id_concepts = dictionary_concepts.id
WHERE left( dictionary_keywords.label_fr, 1 ) = 'A' AND (
(
(
dictionary_concepts.id_indices
) = 1
)
)
GROUP BY dictionary_keywords.label_fr
ORDER BY dictionary_keywords.label_fr LIMIT 0 , 30

Dans ma page asp, j'ai écrit :
SELECT DISTINCT (dictionary_keywords.label_fr), dictionary_concepts.id_indices, dictionary_keywords.id FROM dictionary_keywords INNER JOIN dictionary_concepts ON dictionary_keywords.id_concepts = dictionary_concepts.id WHERE left(dictionary_keywords.label_fr,1)='A' AND (((dictionary_concepts.id_indices)=1)) GROUP BY dictionary_keywords.label_fr ORDER BY dictionary_keywords.label_fr;

J'obtiens le message d'erreur suivant :
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][Pilote ODBC Microsoft Access] Vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée 'id_indices' comme une partie de la fonction d'agrégat.

Lorsque je lance cette requete dans access, j'ai le message d'erreur suivant :

Vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée <nom> comme une partie de la fonction d'agrégat. (Erreur 3122)

Merci pour votre aide et j'espere qu'il y a une solution...
jeudi 22 septembre 2005 à 11:30:21 | Re : Phpmyadmin ok pas access

DuckyLuke

Essaye de virer ton "GROUP BY ... HAVING ..." et mets un simple WHERE à la place... ;)

Tu peux pas faire un GROUP BY sur un élément que tu ne retrouves pas dans ton HAVING... Sur ce coup, MySQL est beaucoup trop permissif...

La bonne requête, c'est donc:

SELECT dictionary_keywords.label_fr, dictionary_concepts.id_indices, dictionary_keywords.id
FROM dictionary_concepts INNER JOIN dictionary_keywords ON dictionary_concepts.id = dictionary_keywords.id_concept
WHERE (Left(dictionary_keywords.label_fr,1))="A" AND ((dictionary_concepts.id_indices)="1")
ORDER BY dictionary_keywords.label_fr;
jeudi 22 septembre 2005 à 12:03:42 | Re : Phpmyadmin ok pas access

DuckyLuke

Essaye de virer ton "GROUP BY ... HAVING ..." et mets un simple WHERE à la place... ;)

Tu peux pas faire un GROUP BY sur un élément que tu ne retrouves pas dans ton HAVING... Sur ce coup, MySQL est beaucoup trop permissif...

La bonne requête, c'est donc:

SELECT dictionary_keywords.label_fr, dictionary_concepts.id_indices, dictionary_keywords.id
FROM dictionary_concepts INNER JOIN dictionary_keywords ON dictionary_concepts.id = dictionary_keywords.id_concept
WHERE (Left(dictionary_keywords.label_fr,1))="A" AND ((dictionary_concepts.id_indices)="1")
ORDER BY dictionary_keywords.label_fr;
jeudi 22 septembre 2005 à 12:39:27 | Re : Phpmyadmin ok pas access

LABAUDE

J'ai modifié la requete, pour suivre tes conseils, mais j'ai le message d'erreur ci dessous :

SQLkeywords = "SELECT dictionary_keywords.label_fr, dictionary_concepts.id_indices, dictionary_keywords.id FROM dictionary_concepts INNER JOIN dictionary_keywords ON dictionary_concepts.id = dictionary_keywords.id_concept WHERE (Left(dictionary_keywords.label_fr,1))='"& u_letter &"' AND ((dictionary_concepts.id_indices)=1) ORDER BY dictionary_keywords.label_fr;"


Erreur de compilation Microsoft VBScript error '800a0401'

Fin d'instruction attendue

/iisHelp/common/500-100.asp, line 11

Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL --------------------------------------------------------------------------^

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 1 attendu.

/mondiv3/mi_fr/centre.asp, line 83

jeudi 22 septembre 2005 à 12:55:22 | Re : Phpmyadmin ok pas access

DuckyLuke

Teste déjà la requête en laissant ton label_fr en fixe ("A").

Essaye aussi en virant les simples quotes:

...Left(dictionary_keywords.label_fr,1))="& u_letter &" AND ((dictionary...
jeudi 22 septembre 2005 à 15:33:08 | Re : Phpmyadmin ok pas access

LABAUDE

J'ai essayé avec le A uniquement... et ca ne marche pas... Ma page est programmée en asp

La requete suivante fonctionne mais j'ai des doublons donc ca ne me satisfait pas :

SQLkeywords = "SELECT DISTINCT (dictionary_keywords.label_fr), dictionary_concepts.id_indices, dictionary_keywords.id FROM dictionary_keywords INNER JOIN dictionary_concepts ON dictionary_keywords.id_concepts = dictionary_concepts.id WHERE left(dictionary_keywords.label_fr,1)='"& u_letter &"' AND (((dictionary_concepts.id_indices)=1)) ORDER BY dictionary_keywords.label_fr;"

Voici la partie de code qui pose probleme :

<table width="100%"  border="0" cellpadding="0" cellspacing="0">
  <tr>
<%
for counter = 65 to 90
' for next routine to create hyperlinks alphabetically targeted
' to the current page
%>
<td valign="top"><a href="<%= request.servervariables("script_name")%>?u_letter=&#<%= counter %>;"><img src="../img_fr/&#<%= counter %>;.gif" width="14" height="14" border="0"></a></td>
<% next %>
</tr>
</table>
<%
if request.QueryString("u_letter") ="" then
else
u_letter=trim(request.querystring("u_letter"))
'if the user clicked a link then search the db
if u_letter<>"" then
' La requête qui va bien ;)
SQLkeywords = "SELECT DISTINCT (dictionary_keywords.label_fr), dictionary_concepts.id_indices, dictionary_keywords.id FROM dictionary_keywords INNER JOIN dictionary_concepts ON dictionary_keywords.id_concepts = dictionary_concepts.id WHERE left(dictionary_keywords.label_fr,1)='"& u_letter &"' AND (((dictionary_concepts.id_indices)=1)) ORDER BY dictionary_keywords.label_fr;"
'SQLkeywords = "SELECT dictionary_keywords.label_fr, dictionary_concepts.id_indices, dictionary_keywords.id FROM dictionary_concepts INNER JOIN dictionary_keywords ON dictionary_concepts.id = dictionary_keywords.id_concept WHERE (Left(dictionary_keywords.label_fr,1))='"& u_letter &"' AND ((dictionary_concepts.id_indices)=1) ORDER BY dictionary_keywords.label_fr;"
'SQLkeywords = "SELECT DISTINCT(dictionary_keywords.label_fr), MAX(dictionary_concepts.id_indices), max(dictionary_keywords.id) FROM dictionary_keywords as dictionary_keywords, dictionary_concepts as dictionary_concepts WHERE dictionary_keywords.id_concepts = dictionary_concepts.id AND dictionary_keywords.label_fr = '"& u_letter &"' AND dictionary_concepts.id_indices = 1 GROUP BY dictionary_concepts.id_indices, dictionary_keywords.id ORDER BY dictionary_keywords.label_fr;"
' Récupère le recordset
Set keywords = server.createobject("ADODB.Recordset")
keywords.Open SQLkeywords, conn, 3, 3
'if the search ends in no results display a
'no results found mesage
if keywords.eof then
%>
<span class='style3'>Il n'y a aucun mot commençant par la lettre <%= u_letter %></span>
<%
else
%>
<table width='100%'  border='0' cellspacing='1' cellpadding='0'>
  <tr>
    <td width='85%'>&nbsp;</td>
    <td width='3%'><div align='center'>D</div></td>
    <td width='3%'><div align='center'>A</div></td>
    <td width='3%'><div align='center'>T</div></td>
    <td width='3%'><div align='center'>C</div></td>
    <td width='3%'><div align='center'>L</div></td>
  </tr>
<%
do while not keywords.eof
'display all observations found
%>
    <tr>
    <td height="10"><a href="definition.asp?id_keywords=<%=keywords("id")%>"><span class='style3'><%= keywords("label_fr") %></span></a></td>
    <td><%
        ' La requête qui va bien ;)
        SQLdefinition = "SELECT definition_fr FROM dictionary_keywords WHERE dictionary_keywords.id=" & keywords("id") & ""
        ' Récupère le recordset
        Set definition = server.createobject("ADODB.Recordset")
        definition.Open SQLdefinition, Conn, 3, 3        
        if definition("definition_fr")="" then
        else
        response.write "<a  href='definition.asp?id_keywords="& keywords("id") &"'><img src='../img_fr/pucerose.gif' border='0' alt='Définition de : "&keywords("label_fr")&"'></a>"
        end if
        definition.close : set definition = nothing
        %></td>
    <td><%
        SQLannuaire1 = "SELECT id_keyword FROM company_object_card_index_keywords WHERE company_object_card_index_keywords.id_keyword=" & keywords("id") & ""
        ' Récupère le recordset
        Set annuaire1 = server.createobject("ADODB.Recordset")
        annuaire1.Open SQLannuaire1, Conn, 3, 3
        IF NOT annuaire1.EOF THEN
        response.write "<a  href='annuaire.asp?id_keywords="& keywords("id") &"'><img src='../img_fr/pucerose.gif' border='0' alt='Annuaire des spécialistes de : "&keywords("label_fr")&"'></a>"
        else
        SQLannuaire2 = "SELECT id_keyword FROM company_object_card_paper_keywords WHERE company_object_card_paper_keywords.id_keyword=" & keywords("id") & ""
        ' Récupère le recordset
        Set annuaire2 = server.createobject("ADODB.Recordset")
        annuaire2.Open SQLannuaire2, Conn, 3, 3
        IF NOT annuaire2.EOF THEN
        response.write "<a  href='annuaire.asp?id_keywords="& keywords("id") &"'><img src='../img_fr/pucerose.gif' border='0' alt='Annuaire des spécialistes de : "&keywords("label_fr")&"'></a>"
        else
        SQLannuaire3 = "SELECT id_keyword FROM company_free_keywords WHERE company_free_keywords.id_keyword=" & keywords("id") & ""
        ' Récupère le recordset
        Set annuaire3 = server.createobject("ADODB.Recordset")
        annuaire3.Open SQLannuaire2, Conn, 3, 3
        IF NOT annuaire3.EOF THEN
        response.write "<a  href='annuaire.asp?id_keywords="& keywords("id") &"'><img src='../img_fr/pucerose.gif' border='0' alt='Annuaire des spécialistes de : "&keywords("label_fr")&"'></a>"
        else
        end if
        annuaire3.close : set annuaire3 = nothing
        end if
        annuaire2.close : set annuaire2 = nothing
        end if
        annuaire1.close : set annuaire1 = nothing
        %></td>
    <td><%
        ' La requête qui va bien ;)
        SQLtemoignage = "SELECT id_keyword FROM company_object_expert_release_keywords WHERE company_object_expert_release_keywords.id_keyword=" & keywords("id") & ""
        ' Récupère le recordset
        Set temoignage = server.createobject("ADODB.Recordset")
        temoignage.Open SQLtemoignage, Conn, 3, 3
        IF NOT temoignage.EOF THEN        
        response.write "<a  href='temoignage.asp?id_keywords="& keywords("id") &"'><img src='../img_fr/pucerose.gif' border='0' alt='Témoignage concernant le mot : "&keywords("label_fr")&"'></a>"
        else
        end if
        temoignage.close : set temoignage = nothing
        %></td>
    <td><%
        ' La requête qui va bien ;)
        SQLadvice = "SELECT advice_fr FROM dictionary_keywords WHERE dictionary_keywords.id=" & keywords("id") & ""
        ' Récupère le recordset
        Set advice = server.createobject("ADODB.Recordset")
        advice.Open SQLadvice, Conn, 3, 3        
        if advice("advice_fr")="" then
        else
        response.write "<a  href='conseils.asp?id_keywords="& keywords("id") &"'><img src='../img_fr/pucerose.gif' border='0' alt='Conseil concernant le mot : "&keywords("label_fr")&"'></a>"
        end if
        advice.close : set advice = nothing
        %></td>
    <td><%
        ' La requête qui va bien ;)
        SQLliensutiles = "SELECT comment_fr FROM dictionary_keywords WHERE dictionary_keywords.id=" & keywords("id") & ""
        ' Récupère le recordset
        Set liensutiles = server.createobject("ADODB.Recordset")
        liensutiles.Open SQLliensutiles, Conn, 3, 3        
        if liensutiles("comment_fr")="" then
        else
        response.write "<a  href='liensutiles.asp?id_keywords="& keywords("id") &"'><img src='../img_fr/pucerose.gif' border='0' alt='Liens utils concernant le mot : "&keywords("label_fr")&"'></a>"
        end if
        liensutiles.close : set liensutiles = nothing
        %></td>
  </tr>
<%
keywords.movenext
loop
end if ' end check for obs
end if ' end check for user input
%>
<%
keywords.close : set keywords = nothing
%>
<%
end if
%></td>
                                  </tr>
                                </table>

jeudi 22 septembre 2005 à 15:49:06 | Re : Phpmyadmin ok pas access

DuckyLuke

Entre ta requête qui fonctionne et celle que je propose, 2 trucs diffèrent:
  - le DISTINCT
  - la jointure que tu fais dans un sens et moi dans l'autre.

Essaye de jongler en modifiant l'un ou l'autre... Sinon, je ne vois pas... (et sans enregistrements pour faire des tests, c'est pas très facile... :P )

SQLkeywords = "SELECT DISTINCT (dictionary_keywords.label_fr), dictionary_concepts.id_indices, dictionary_keywords.id FROM dictionary_keywords INNER JOIN dictionary_concepts ON dictionary_keywords.id_concepts = dictionary_concepts.id WHERE left(dictionary_keywords.label_fr,1)='"& u_letter &"' AND (((dictionary_concepts.id_indices)=1)) ORDER BY dictionary_keywords.label_fr;"
'SQLkeywords = "SELECT dictionary_keywords.label_fr, dictionary_concepts.id_indices, dictionary_keywords.id FROM dictionary_concepts INNER JOIN dictionary_keywords ON dictionary_concepts.id = dictionary_keywords.id_concept WHERE (Left(dictionary_keywords.label_fr,1))='"& u_letter &"' AND ((dictionary_concepts.id_indices)=1) ORDER BY dictionary_keywords.label_fr;"
jeudi 22 septembre 2005 à 16:05:06 | Re : Phpmyadmin ok pas access

LABAUDE

Est ce que je peux t'envoyer ma base vierge et la page est asp sur ton email?

Si oui, quel est ton email?

jeudi 22 septembre 2005 à 17:19:18 | Re : Phpmyadmin ok pas access

DuckyLuke

Je te l'envoie en MP


Cette discussion est classée dans : label, id, dictionary, keywords, concepts


Répondre à ce message

Sujets en rapport avec ce message

A l'aide, je n'ai toujours pas trouvé la solution... [ par LABAUDE ] Bonjour, Impossible de convertir la requete suivante fonctionnant avec phpmyadmin en requete pour un site en asp et une base access. Pouvez vous m'aid access et requete [ par paloxicide ] je cherche a récupérer à l'aide d'une seule requete le MAX(id) ainsi que l'attribut velo) correspondant à ce MAX(id) Est ce possible, si oui comment? Problème de création de Trigger [ par vincentstryckmans ] Bonjour, J'ai un script qui crée, entre autres, une table et un trigger : CREATE TABLE "COMPOSANT" ( "ID_COMPOSANT" INTEGER NOT NULL, "F_COMPOSANT Plusieurs eregistrement dans un t-uple [ par juvamine ] Bonjour,J'ai une table table_commentaire[id_com,id_obj,intitule,libelle]1 id_obj peut avoir 1 ou plusieurs commentaires.Ex:id_com   id_obj   intitulé  Problème auto increment + au secoursssssssssssssssssssssssssssss [ par emmanuel9 ] Bonjour à tous, J'ai une requete pour créer une table sous sql server : String * sql    =  S"CREATE TABLE Companies1 (" S"ID INT IDENTITY(1, 1)  CLU Problème avec une requête sql..... [ par emmanuel9 ] Bonjour à tous, En faite j'ai une table Personne : ID | GROUPE_ID | ORDRE et dessus je fais une requête : SELECT ID FROM PERSONNE WHERE....... et Problème avec uen requête... [ par emmanuel9 ] Bonjour à tous, J'ai pose une question y'a pas longtemps sur le forum, on m'a repondu et effectivement ca marche, le problème c'est que je viens de m' Problème de jointure [ par vincentstryckmans ] Bonjour,J'ai un problème de jointure.La table identif_officiel décrit les incidents survenus à l'infrastructure ferroviaire.La table constat_officiel recup infos tables croisées [ par christobal ] Bonjour, j'ai les neuronnes qui fume, c'est ce qui arrive quand on reste trop longtemp sur un projet on fini par ne plus rien comprendre. Mon pb est q Requete de Sélection besoin d'aide [ par ranouf ] Bonjour,J'utilise mysql. j'ai deux tables :Utilisateur (id_utilisateur, login, id_groupe)Groupe(id_groupe, lib)Un utilisateur a (0,1) groupeUn groupe


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales