|
Modifier un fichier suite a un tri par une requete |
Débuté par D.Duval, 11 jan. 2007 09:35 - 3 réponses |
| |
| | | |
|
| |
Posté le 11 janvier 2007 - 09:35 |
Bonsoir
Je tri des enregistrement à l'aide d'un requete selection
HExécuteRequête("Requete_selection1",hModifieFichier,saisie1,Saisie2,Saisie3) TableAffiche(Table_PURREQ)
je selectionne un enregistrement que je veux modifier dans la table et qui doit modifier la base de donnée.
je sort de l'enregistrement avec
HLit(Requete_selection1.PRIXDEVENTE,hNumEnrEnCours,hBlocageNon) HModifie(PURREQ.PRIXDEVENTE)
Et la patratra message d'erreur
Erreur à la ligne 1 du traitement Sortie d'une ligne de Table_PURREQ. Vous avez appelé la fonction HLit. Fichier <123> inconnu dans l'analyse <X:\Mes Projets\analyse_dnyee.wdd>, ou requête ou vue non initialisée.
Pourquoi fichier <123>?
Comment initialiser la requete ou la vue?
Si la table n'est pas triée par une requéte il n'y a aucun probleme, mais la table fait plusieurs dizaine de millier de ligne, il faut que je tri.
J'ai testé pas mal de solution, lu la doc vraiment mal foutu de Windev, epluché le forum mais je n'avance pas. Alors si vous avez une idée, je vous remercierez en vous exprimant mes voeux les plus sinceres.
D. Duval |
| |
| |
| | | |
|
| | |
| |
Posté le 11 janvier 2007 - 09:56 |
Salut
En regardant dans l'aide je lis :
HModifie([<Nom du fichier>] [,<Numéro d'enregistrement> [, <Options>]])
donc, comme paramêtre : le nom du fichier.
or tu mets
HModifie(PURREQ.PRIXDEVENTE)
ce qui me semble ne pas être un nom de fichier, mais plutôt le nom d'un champ dans le fichier.
@+, JF |
| |
| |
| | | |
|
| | |
| |
Posté le 11 janvier 2007 - 23:09 |
En effet en changeant le nom de la table access conte le nom de la requete alimentant la table d'affichage:
EcranVersFichier() PURREQ.PRIXDEVENTE=Prixdevente HModifie(Requete_selection1,0,hEcritureDéfaut)
il ne me retourne qu'un message d'erreur du type
Description = Mise à jour impossible. La base de données ou l'objet est en lecture seule. Source = Microsoft JET Database Engine Help Context = 5003027 SQL State = 3027 Error Number = -2147217911 Native Error Number = -118490897
Hors, la base n'est pas en lecture seule. Ca me gonfle de planter sur un truc si basic |
| |
| |
| | | |
|
| | |
| |
Posté le 12 janvier 2007 - 10:09 |
Salut,
J'ai déjà rencontré ce genre de problème.
Affichage de données résultant d'une requête. Tentative de modifier un ou plusieurs champs d'un enregistrement Au rechargement de la table, mes anciennes valeurs étant toujours là, les nouvelles n'ont pas été prises en compte.
Ma solution:
Ma requête récupère un champs qui me permet d'identifier clairement l'enregistrement à modifier dans la table et je fait un
HLitRecherchePremier(<Nom du fichier>, <Nom de la rubrique>, <Valeur recherchée>) <Nom du fichier>.<Nom de la rubrique>=MaNouvelleValeur HModifie(<Nom du fichier>) HExécuteRequête(<Nom requête> [, <Mode> [, <Para1> [, ... <ParaN>]]]) TableAffiche(<Nom de la table>)
et le tour est joué.
Bon à voir si cela fonctionne également avec Access.
@+, JF |
| |
| |
| | | |
|
| | | | |
| | |
|