Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False, False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHERE
Ecritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehors
d'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" a écrit dans le message de
news:Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car elle
depand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
cause
d'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelquechose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" a écrit dans le message de
news:Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece ORDER
BY
ccur(NumeroPiece) DESC
A+
Rv
Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False, False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHERE
Ecritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehors
d'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" <XYZmurenne@hotmail.com> a écrit dans le message de
news:OCbsBCzvDHA.2072@TK2MSFTNGP10.phx.gbl...
Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car elle
depand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
cause
d'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelque
chose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" <herve.pinardPASDESPAM@free.fr> a écrit dans le message de
news:eyEcefyvDHA.1996@TK2MSFTNGP12.phx.gbl...
Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece ORDER
BY
ccur(NumeroPiece) DESC
A+
Rv
Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False, False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHERE
Ecritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehors
d'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" a écrit dans le message de
news:Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car elle
depand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
cause
d'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelquechose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" a écrit dans le message de
news:Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece ORDER
BY
ccur(NumeroPiece) DESC
A+
Rv
bonjour
J'ai l'impression que la connection ne se fait pas comme il faudrait,
pourtant j'ai rajouté les deux lignes de connection de dbCompta pour vous
car
moi elle sont dans une autre procedure et dbCompta est public
en remplacant dbCompta par currentdb ca marche (a condition de mettre la
table Ecriture dans la base qui contient le code bien sur)
cette connection a deja servi dans une autre procedure et a fonctionné
sans
probleme pourtant :(
voici mon code
Function TrouverNumPiece()
Dim rstNumPiece As Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False, False)
'ouverture de la base
SQLNumPiece = "SELECT Ecritures.NumeroPiece FROM Ecritures WHERE
(((Ecritures.NumeroPiece)=DMax(" & """Ccur(NumeroPiece)""" & "," &
"""Ecritures""" & "," & """Not IsNull(NumeroPiece) And Not NumeroPiece ="
&
" ' ' " & """)));"
Debug.Print SQLNumPiece
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece) 'je mets le resultat
dans rstNumPiece
TrouverNumPiece = rstNumPiece!NumeroPiece 'c'est le plus grand numero de
piece existant
End Function
Si je remplace
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
par
Set rstNumPiece = CurrentDb.OpenRecordset(SQLNumPiece)
ca marche
J'avoue ne pas comprendre pourquoi cela ne marche pas si vous pouviez
m'aider
merci beaucoup
Mumu
bonjour
J'ai l'impression que la connection ne se fait pas comme il faudrait,
pourtant j'ai rajouté les deux lignes de connection de dbCompta pour vous
car
moi elle sont dans une autre procedure et dbCompta est public
en remplacant dbCompta par currentdb ca marche (a condition de mettre la
table Ecriture dans la base qui contient le code bien sur)
cette connection a deja servi dans une autre procedure et a fonctionné
sans
probleme pourtant :(
voici mon code
Function TrouverNumPiece()
Dim rstNumPiece As Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False, False)
'ouverture de la base
SQLNumPiece = "SELECT Ecritures.NumeroPiece FROM Ecritures WHERE
(((Ecritures.NumeroPiece)=DMax(" & """Ccur(NumeroPiece)""" & "," &
"""Ecritures""" & "," & """Not IsNull(NumeroPiece) And Not NumeroPiece ="
&
" ' ' " & """)));"
Debug.Print SQLNumPiece
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece) 'je mets le resultat
dans rstNumPiece
TrouverNumPiece = rstNumPiece!NumeroPiece 'c'est le plus grand numero de
piece existant
End Function
Si je remplace
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
par
Set rstNumPiece = CurrentDb.OpenRecordset(SQLNumPiece)
ca marche
J'avoue ne pas comprendre pourquoi cela ne marche pas si vous pouviez
m'aider
merci beaucoup
Mumu
bonjour
J'ai l'impression que la connection ne se fait pas comme il faudrait,
pourtant j'ai rajouté les deux lignes de connection de dbCompta pour vous
car
moi elle sont dans une autre procedure et dbCompta est public
en remplacant dbCompta par currentdb ca marche (a condition de mettre la
table Ecriture dans la base qui contient le code bien sur)
cette connection a deja servi dans une autre procedure et a fonctionné
sans
probleme pourtant :(
voici mon code
Function TrouverNumPiece()
Dim rstNumPiece As Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False, False)
'ouverture de la base
SQLNumPiece = "SELECT Ecritures.NumeroPiece FROM Ecritures WHERE
(((Ecritures.NumeroPiece)=DMax(" & """Ccur(NumeroPiece)""" & "," &
"""Ecritures""" & "," & """Not IsNull(NumeroPiece) And Not NumeroPiece ="
&
" ' ' " & """)));"
Debug.Print SQLNumPiece
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece) 'je mets le resultat
dans rstNumPiece
TrouverNumPiece = rstNumPiece!NumeroPiece 'c'est le plus grand numero de
piece existant
End Function
Si je remplace
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
par
Set rstNumPiece = CurrentDb.OpenRecordset(SQLNumPiece)
ca marche
J'avoue ne pas comprendre pourquoi cela ne marche pas si vous pouviez
m'aider
merci beaucoup
Mumu
Lancer sans créer la requete oui, mais ca marche pas dans ce cas je pense
que c'est a cause du DMax qui doit pas lui plaire
Ton histoire de liaison ponctuel me plait bien
car avec currentdb ca marche (simplifier en test j'ai importé la table
Ecriture) et tout marchais bien
j'essaye ca je te dis ce que ca donne
Mumu
"Rv" a écrit dans le message de
news:Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False, False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHEREEcritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehorsd'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" a écrit dans le message de
news:Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car
elle
depand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
caused'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelquechose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" a écrit dans le message de
news:Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ORDER
BYccur(NumeroPiece) DESC
A+
Rv
Lancer sans créer la requete oui, mais ca marche pas dans ce cas je pense
que c'est a cause du DMax qui doit pas lui plaire
Ton histoire de liaison ponctuel me plait bien
car avec currentdb ca marche (simplifier en test j'ai importé la table
Ecriture) et tout marchais bien
j'essaye ca je te dis ce que ca donne
Mumu
"Rv" <herve.pinardPASDESPAM@free.fr> a écrit dans le message de
news:uO6wjXzvDHA.3216@TK2MSFTNGP11.phx.gbl...
Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False, False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHERE
Ecritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehors
d'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" <XYZmurenne@hotmail.com> a écrit dans le message de
news:OCbsBCzvDHA.2072@TK2MSFTNGP10.phx.gbl...
Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car
elle
depand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
cause
d'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelque
chose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" <herve.pinardPASDESPAM@free.fr> a écrit dans le message de
news:eyEcefyvDHA.1996@TK2MSFTNGP12.phx.gbl...
Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ORDER
BY
ccur(NumeroPiece) DESC
A+
Rv
Lancer sans créer la requete oui, mais ca marche pas dans ce cas je pense
que c'est a cause du DMax qui doit pas lui plaire
Ton histoire de liaison ponctuel me plait bien
car avec currentdb ca marche (simplifier en test j'ai importé la table
Ecriture) et tout marchais bien
j'essaye ca je te dis ce que ca donne
Mumu
"Rv" a écrit dans le message de
news:Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False, False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHEREEcritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehorsd'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" a écrit dans le message de
news:Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car
elle
depand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
caused'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelquechose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" a écrit dans le message de
news:Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ORDER
BYccur(NumeroPiece) DESC
A+
Rv
Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
dirais
que le DMAX veut être exécuté par ta base locale, même si tu précises
comme
tu le fais une autre base pour l'ensemble de la requête, et comme elle ne
contient pas les données décrites dans le DMAX ça plante (ceci je n'en
suis
pas tout à fait sûr. A confirmer, tester- par exemple en réimportant la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser l'erreur
qui se produit à ce moment là?
A+
Rv
"mumu" a écrit dans le message de
news:eq$Lancer sans créer la requete oui, mais ca marche pas dans ce cas je
pense
que c'est a cause du DMax qui doit pas lui plaire
Ton histoire de liaison ponctuel me plait bien
car avec currentdb ca marche (simplifier en test j'ai importé la table
Ecriture) et tout marchais bien
j'essaye ca je te dis ce que ca donne
Mumu
"Rv" a écrit dans le message de
news:Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas
lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False,
False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHEREEcritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehorsd'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" a écrit dans le message de
news:Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car
elledepand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
caused'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelquechose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" a écrit dans le message de
news:Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ORDERBYccur(NumeroPiece) DESC
A+
Rv
Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
dirais
que le DMAX veut être exécuté par ta base locale, même si tu précises
comme
tu le fais une autre base pour l'ensemble de la requête, et comme elle ne
contient pas les données décrites dans le DMAX ça plante (ceci je n'en
suis
pas tout à fait sûr. A confirmer, tester- par exemple en réimportant la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser l'erreur
qui se produit à ce moment là?
A+
Rv
"mumu" <XYZmurenne@hotmail.com> a écrit dans le message de
news:eq$kXizvDHA.1272@TK2MSFTNGP12.phx.gbl...
Lancer sans créer la requete oui, mais ca marche pas dans ce cas je
pense
que c'est a cause du DMax qui doit pas lui plaire
Ton histoire de liaison ponctuel me plait bien
car avec currentdb ca marche (simplifier en test j'ai importé la table
Ecriture) et tout marchais bien
j'essaye ca je te dis ce que ca donne
Mumu
"Rv" <herve.pinardPASDESPAM@free.fr> a écrit dans le message de
news:uO6wjXzvDHA.3216@TK2MSFTNGP11.phx.gbl...
Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas
lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False,
False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHERE
Ecritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehors
d'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" <XYZmurenne@hotmail.com> a écrit dans le message de
news:OCbsBCzvDHA.2072@TK2MSFTNGP10.phx.gbl...
Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car
elle
depand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
cause
d'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelque
chose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" <herve.pinardPASDESPAM@free.fr> a écrit dans le message de
news:eyEcefyvDHA.1996@TK2MSFTNGP12.phx.gbl...
Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ORDER
BY
ccur(NumeroPiece) DESC
A+
Rv
Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
dirais
que le DMAX veut être exécuté par ta base locale, même si tu précises
comme
tu le fais une autre base pour l'ensemble de la requête, et comme elle ne
contient pas les données décrites dans le DMAX ça plante (ceci je n'en
suis
pas tout à fait sûr. A confirmer, tester- par exemple en réimportant la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser l'erreur
qui se produit à ce moment là?
A+
Rv
"mumu" a écrit dans le message de
news:eq$Lancer sans créer la requete oui, mais ca marche pas dans ce cas je
pense
que c'est a cause du DMax qui doit pas lui plaire
Ton histoire de liaison ponctuel me plait bien
car avec currentdb ca marche (simplifier en test j'ai importé la table
Ecriture) et tout marchais bien
j'essaye ca je te dis ce que ca donne
Mumu
"Rv" a écrit dans le message de
news:Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas
lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False,
False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHEREEcritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehorsd'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" a écrit dans le message de
news:Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car
elledepand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
caused'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelquechose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" a écrit dans le message de
news:Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ORDERBYccur(NumeroPiece) DESC
A+
Rv
Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
dirais
que le DMAX veut être exécuté par ta base locale, même si tu précises
comme
tu le fais une autre base pour l'ensemble de la requête, et comme elle ne
contient pas les données décrites dans le DMAX ça plante (ceci je n'en
suis
pas tout à fait sûr. A confirmer, tester- par exemple en réimportant la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser l'erreur
qui se produit à ce moment là?
A+
Rv
"mumu" a écrit dans le message de
news:eq$Lancer sans créer la requete oui, mais ca marche pas dans ce cas je
pense
que c'est a cause du DMax qui doit pas lui plaire
Ton histoire de liaison ponctuel me plait bien
car avec currentdb ca marche (simplifier en test j'ai importé la table
Ecriture) et tout marchais bien
j'essaye ca je te dis ce que ca donne
Mumu
"Rv" a écrit dans le message de
news:Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas
lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False,
False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHEREEcritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehorsd'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" a écrit dans le message de
news:Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car
elledepand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
caused'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelquechose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" a écrit dans le message de
news:Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ORDERBYccur(NumeroPiece) DESC
A+
Rv
Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
dirais
que le DMAX veut être exécuté par ta base locale, même si tu précises
comme
tu le fais une autre base pour l'ensemble de la requête, et comme elle ne
contient pas les données décrites dans le DMAX ça plante (ceci je n'en
suis
pas tout à fait sûr. A confirmer, tester- par exemple en réimportant la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser l'erreur
qui se produit à ce moment là?
A+
Rv
"mumu" <XYZmurenne@hotmail.com> a écrit dans le message de
news:eq$kXizvDHA.1272@TK2MSFTNGP12.phx.gbl...
Lancer sans créer la requete oui, mais ca marche pas dans ce cas je
pense
que c'est a cause du DMax qui doit pas lui plaire
Ton histoire de liaison ponctuel me plait bien
car avec currentdb ca marche (simplifier en test j'ai importé la table
Ecriture) et tout marchais bien
j'essaye ca je te dis ce que ca donne
Mumu
"Rv" <herve.pinardPASDESPAM@free.fr> a écrit dans le message de
news:uO6wjXzvDHA.3216@TK2MSFTNGP11.phx.gbl...
Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas
lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False,
False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHERE
Ecritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehors
d'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" <XYZmurenne@hotmail.com> a écrit dans le message de
news:OCbsBCzvDHA.2072@TK2MSFTNGP10.phx.gbl...
Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car
elle
depand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
cause
d'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelque
chose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" <herve.pinardPASDESPAM@free.fr> a écrit dans le message de
news:eyEcefyvDHA.1996@TK2MSFTNGP12.phx.gbl...
Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ORDER
BY
ccur(NumeroPiece) DESC
A+
Rv
Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
dirais
que le DMAX veut être exécuté par ta base locale, même si tu précises
comme
tu le fais une autre base pour l'ensemble de la requête, et comme elle ne
contient pas les données décrites dans le DMAX ça plante (ceci je n'en
suis
pas tout à fait sûr. A confirmer, tester- par exemple en réimportant la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser l'erreur
qui se produit à ce moment là?
A+
Rv
"mumu" a écrit dans le message de
news:eq$Lancer sans créer la requete oui, mais ca marche pas dans ce cas je
pense
que c'est a cause du DMax qui doit pas lui plaire
Ton histoire de liaison ponctuel me plait bien
car avec currentdb ca marche (simplifier en test j'ai importé la table
Ecriture) et tout marchais bien
j'essaye ca je te dis ce que ca donne
Mumu
"Rv" a écrit dans le message de
news:Alors là c'est moi qui ne comprends plus! Pourquoi ne peut-on pas
lancer
(sans créer) une telle requête avec
Dim rstNumPiece As DAO.Recordset
Dim SQLNumPiece As String
strCheminCompta = "C:Compta.mdb"
' ouverture de la base externe
Set dbCompta = Workspaces(0).OpenDatabase(strCheminCompta, False,
False)
' Création du texte de la requête
rstNumPiece = "SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures
WHEREEcritures.NumeroPiece<>' ' AND Not is null Ecritures.NumeroPiece"
' Execution de la requête
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumPiece)
...
Sinon tu peux te lier ponctuellement avec cette syntaxe :
SELECT Meschamps FROM Mestables IN 'chemindelabaseaccessexterne' WHERE
mesconditions. Ce qui te permettrait de l'éxecuter via CurrentDb
Enfin, le MAX n'est pas une instruction VBA mais une fonction SQL. En
dehorsd'une requête SQL il n'a pas de sens.
A+
Rv
"mumu" a écrit dans le message de
news:Salut Rv et merci de prendre un moment pour me repondre
le soucis est que je ne peux pas creer la requete physiquement car
elledepand de tables exterieurs a ma base.
je ne peux pas non plus lier cette table, sinon je m'en sortais ( a
caused'autre liaisons qui se font en automatique)
Bon tous ca pour dire que Max ne marche pas avec VBA ou alors il y a
quelquechose que j'ai mal fait
pour SELECT TOP 1 je vais essayer je te tindrais au courant.
Mumu
"Rv" a écrit dans le message de
news:Salut,
N'est-il pas possible d'utiliser d'autres requêtes comme:
SELECT Max(ccur(Ecritures.NumeroPiece)) FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ou
SELECT TOP 1 Ecritures.NumeroPiece FROM Ecritures WHERE
Ecritures.NumeroPiece<>'' AND Not is null Ecritures.NumeroPiece
ORDERBYccur(NumeroPiece) DESC
A+
Rv
Ca a l'air de passer j'avais des erreurs de syntaxes et en le refaisant ca
a
passé sans erreurs
mais comment je recupere le nombre le plus grand ?
SQLNumeroPiece = "SELECT Max(Ecritures.NumeroPiece) FROM Ecritures WHERE
(( Not IsNull(NumeroPiece) And Not NumeroPiece =" & """' '""" & "));"
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumeroPiece)
TrouverNumPiece = rstNumPiece!NumeroPiece
A la derniere ligne il me dit que l'element n'est pas trouvé dans la
colection
La solution ne doit pas etre bien loin mais je trouve pas
Mumu
Ca a l'air de passer j'avais des erreurs de syntaxes et en le refaisant ca
a
passé sans erreurs
mais comment je recupere le nombre le plus grand ?
SQLNumeroPiece = "SELECT Max(Ecritures.NumeroPiece) FROM Ecritures WHERE
(( Not IsNull(NumeroPiece) And Not NumeroPiece =" & """' '""" & "));"
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumeroPiece)
TrouverNumPiece = rstNumPiece!NumeroPiece
A la derniere ligne il me dit que l'element n'est pas trouvé dans la
colection
La solution ne doit pas etre bien loin mais je trouve pas
Mumu
Ca a l'air de passer j'avais des erreurs de syntaxes et en le refaisant ca
a
passé sans erreurs
mais comment je recupere le nombre le plus grand ?
SQLNumeroPiece = "SELECT Max(Ecritures.NumeroPiece) FROM Ecritures WHERE
(( Not IsNull(NumeroPiece) And Not NumeroPiece =" & """' '""" & "));"
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumeroPiece)
TrouverNumPiece = rstNumPiece!NumeroPiece
A la derniere ligne il me dit que l'element n'est pas trouvé dans la
colection
La solution ne doit pas etre bien loin mais je trouve pas
Mumu
Ca a l'air de passer j'avais des erreurs de syntaxes et en le refaisant ca
a
passé sans erreurs
mais comment je recupere le nombre le plus grand ?
SQLNumeroPiece = "SELECT Max(Ecritures.NumeroPiece) FROM Ecritures WHERE
(( Not IsNull(NumeroPiece) And Not NumeroPiece =" & """' '""" & "));"
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumeroPiece)
TrouverNumPiece = rstNumPiece!NumeroPiece
A la derniere ligne il me dit que l'element n'est pas trouvé dans la
colection
La solution ne doit pas etre bien loin mais je trouve pas
Mumu
Ca a l'air de passer j'avais des erreurs de syntaxes et en le refaisant ca
a
passé sans erreurs
mais comment je recupere le nombre le plus grand ?
SQLNumeroPiece = "SELECT Max(Ecritures.NumeroPiece) FROM Ecritures WHERE
(( Not IsNull(NumeroPiece) And Not NumeroPiece =" & """' '""" & "));"
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumeroPiece)
TrouverNumPiece = rstNumPiece!NumeroPiece
A la derniere ligne il me dit que l'element n'est pas trouvé dans la
colection
La solution ne doit pas etre bien loin mais je trouve pas
Mumu
Ca a l'air de passer j'avais des erreurs de syntaxes et en le refaisant ca
a
passé sans erreurs
mais comment je recupere le nombre le plus grand ?
SQLNumeroPiece = "SELECT Max(Ecritures.NumeroPiece) FROM Ecritures WHERE
(( Not IsNull(NumeroPiece) And Not NumeroPiece =" & """' '""" & "));"
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumeroPiece)
TrouverNumPiece = rstNumPiece!NumeroPiece
A la derniere ligne il me dit que l'element n'est pas trouvé dans la
colection
La solution ne doit pas etre bien loin mais je trouve pas
Mumu
Oui en important la table Ecriture le DMax marche
"Rv" a écrit dans le message de
news:Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
diraisque le DMAX veut être exécuté par ta base locale, même si tu précises
commetu le fais une autre base pour l'ensemble de la requête, et comme elle
ne
contient pas les données décrites dans le DMAX ça plante (ceci je n'en
suispas tout à fait sûr. A confirmer, tester- par exemple en réimportant la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser
l'erreur
qui se produit à ce moment là?
A+
Rv
Oui en important la table Ecriture le DMax marche
"Rv" <herve.pinardPASDESPAM@free.fr> a écrit dans le message de
news:ep81B1zvDHA.2712@TK2MSFTNGP11.phx.gbl...
Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
dirais
que le DMAX veut être exécuté par ta base locale, même si tu précises
comme
tu le fais une autre base pour l'ensemble de la requête, et comme elle
ne
contient pas les données décrites dans le DMAX ça plante (ceci je n'en
suis
pas tout à fait sûr. A confirmer, tester- par exemple en réimportant la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser
l'erreur
qui se produit à ce moment là?
A+
Rv
Oui en important la table Ecriture le DMax marche
"Rv" a écrit dans le message de
news:Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
diraisque le DMAX veut être exécuté par ta base locale, même si tu précises
commetu le fais une autre base pour l'ensemble de la requête, et comme elle
ne
contient pas les données décrites dans le DMAX ça plante (ceci je n'en
suispas tout à fait sûr. A confirmer, tester- par exemple en réimportant la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser
l'erreur
qui se produit à ce moment là?
A+
Rv
Désolé pour le post précédent. Un cic intempestif!
Apparement la requête ne renvoie pas de données. Il faut tester le
rstNumPiece.EOF pour en être sûr.
if rstNumPiece .EOF then
' Pas d'enregistrement
...
else
TrouverNumPiece = rstNumPiece!NumeroPiece
end if
A ta place j'afficherai la requête avec un debug.print puis je ferais un
copier coller du texte ainsi affiché dans une requete SQL DIRECT de la
base
des écritures pour tester et corriger. Puis quand ça marche, un copier
coller dans ton application du texte de la requête!
A+
Rv
"mumu" a écrit dans le message de
news:Ca a l'air de passer j'avais des erreurs de syntaxes et en le refaisant
ca
apassé sans erreurs
mais comment je recupere le nombre le plus grand ?
SQLNumeroPiece = "SELECT Max(Ecritures.NumeroPiece) FROM Ecritures WHERE
(( Not IsNull(NumeroPiece) And Not NumeroPiece =" & """' '""" & "));"
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumeroPiece)
TrouverNumPiece = rstNumPiece!NumeroPiece
A la derniere ligne il me dit que l'element n'est pas trouvé dans la
colection
La solution ne doit pas etre bien loin mais je trouve pas
Mumu
Désolé pour le post précédent. Un cic intempestif!
Apparement la requête ne renvoie pas de données. Il faut tester le
rstNumPiece.EOF pour en être sûr.
if rstNumPiece .EOF then
' Pas d'enregistrement
...
else
TrouverNumPiece = rstNumPiece!NumeroPiece
end if
A ta place j'afficherai la requête avec un debug.print puis je ferais un
copier coller du texte ainsi affiché dans une requete SQL DIRECT de la
base
des écritures pour tester et corriger. Puis quand ça marche, un copier
coller dans ton application du texte de la requête!
A+
Rv
"mumu" <XYZmurenne@hotmail.com> a écrit dans le message de
news:eXIcqB0vDHA.2448@TK2MSFTNGP09.phx.gbl...
Ca a l'air de passer j'avais des erreurs de syntaxes et en le refaisant
ca
a
passé sans erreurs
mais comment je recupere le nombre le plus grand ?
SQLNumeroPiece = "SELECT Max(Ecritures.NumeroPiece) FROM Ecritures WHERE
(( Not IsNull(NumeroPiece) And Not NumeroPiece =" & """' '""" & "));"
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumeroPiece)
TrouverNumPiece = rstNumPiece!NumeroPiece
A la derniere ligne il me dit que l'element n'est pas trouvé dans la
colection
La solution ne doit pas etre bien loin mais je trouve pas
Mumu
Désolé pour le post précédent. Un cic intempestif!
Apparement la requête ne renvoie pas de données. Il faut tester le
rstNumPiece.EOF pour en être sûr.
if rstNumPiece .EOF then
' Pas d'enregistrement
...
else
TrouverNumPiece = rstNumPiece!NumeroPiece
end if
A ta place j'afficherai la requête avec un debug.print puis je ferais un
copier coller du texte ainsi affiché dans une requete SQL DIRECT de la
base
des écritures pour tester et corriger. Puis quand ça marche, un copier
coller dans ton application du texte de la requête!
A+
Rv
"mumu" a écrit dans le message de
news:Ca a l'air de passer j'avais des erreurs de syntaxes et en le refaisant
ca
apassé sans erreurs
mais comment je recupere le nombre le plus grand ?
SQLNumeroPiece = "SELECT Max(Ecritures.NumeroPiece) FROM Ecritures WHERE
(( Not IsNull(NumeroPiece) And Not NumeroPiece =" & """' '""" & "));"
Set rstNumPiece = dbCompta.OpenRecordset(SQLNumeroPiece)
TrouverNumPiece = rstNumPiece!NumeroPiece
A la derniere ligne il me dit que l'element n'est pas trouvé dans la
colection
La solution ne doit pas etre bien loin mais je trouve pas
Mumu
Donc l'explication semble correcte (le DMAX tape dans la base locale).
C'était juste pour comprendre car la solution n'est pas là!
A+ et bonne soirée, je termine pour aujourd'hui la discussion.
Rv
"mumu" a écrit dans le message de
news:Oui en important la table Ecriture le DMax marche
"Rv" a écrit dans le message de
news:Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
diraisque le DMAX veut être exécuté par ta base locale, même si tu précises
commetu le fais une autre base pour l'ensemble de la requête, et comme elle
necontient pas les données décrites dans le DMAX ça plante (ceci je n'en
suispas tout à fait sûr. A confirmer, tester- par exemple en réimportant
la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser
l'erreurqui se produit à ce moment là?
A+
Rv
Donc l'explication semble correcte (le DMAX tape dans la base locale).
C'était juste pour comprendre car la solution n'est pas là!
A+ et bonne soirée, je termine pour aujourd'hui la discussion.
Rv
"mumu" <XYZmurenne@hotmail.com> a écrit dans le message de
news:OE6CkE0vDHA.2180@TK2MSFTNGP09.phx.gbl...
Oui en important la table Ecriture le DMax marche
"Rv" <herve.pinardPASDESPAM@free.fr> a écrit dans le message de
news:ep81B1zvDHA.2712@TK2MSFTNGP11.phx.gbl...
Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
dirais
que le DMAX veut être exécuté par ta base locale, même si tu précises
comme
tu le fais une autre base pour l'ensemble de la requête, et comme elle
ne
contient pas les données décrites dans le DMAX ça plante (ceci je n'en
suis
pas tout à fait sûr. A confirmer, tester- par exemple en réimportant
la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser
l'erreur
qui se produit à ce moment là?
A+
Rv
Donc l'explication semble correcte (le DMAX tape dans la base locale).
C'était juste pour comprendre car la solution n'est pas là!
A+ et bonne soirée, je termine pour aujourd'hui la discussion.
Rv
"mumu" a écrit dans le message de
news:Oui en important la table Ecriture le DMax marche
"Rv" a écrit dans le message de
news:Ok je comprends pour le DMAX qui est une fonction VBA et pas SQL. Je
diraisque le DMAX veut être exécuté par ta base locale, même si tu précises
commetu le fais une autre base pour l'ensemble de la requête, et comme elle
necontient pas les données décrites dans le DMAX ça plante (ceci je n'en
suispas tout à fait sûr. A confirmer, tester- par exemple en réimportant
la
table Ecritures le DMAX fonctionnera - , ...).
Par contre je ne comprends pas pourquoi la syntaxe SELECT MAx(...) ne
fonctionne pas (Le MAX etant une fonction SQL). Peux tu préciser
l'erreurqui se produit à ce moment là?
A+
Rv