|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
Started by GABRIEL, Apr., 18 2024 10:55 AM - 9 replies |
| |
| | | |
|
| |
Registered member 19 messages |
|
Posted on April, 18 2024 - 10:55 AM |
Bonjour, j'ai une appli PC et android, J'ai besoin de transférer mes fichiers du serveur sur ma tablette. Ça je sais faire et cela fonctionne par contre pour certains fichiers (les plus gros) je n'ai pas besoin d'avoir l'historique sur 2 ans, j'ai juste besoin des 5 derniers jours. C'est la que j'ai un soucis. le Hcopiefichier ne fonctionne plus et j'ai essayé le hcopieenreg mais c'est également trop long avec vous une suggestion ?
Merci d'avance |
| |
| |
| | | |
|
| | |
| |
Registered member 3,893 messages Popularité : +227 (347 votes) |
|
Posted on April, 18 2024 - 12:16 PM |
Bonjour, Pourquoi ne pas récupérer les enregistrements basés sur une requête ?
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Registered member 546 messages |
|
Posted on April, 18 2024 - 12:19 PM |
Bonjour GABRIEL, Je n'ai pas tout compris. Pourquoi le Hcopiefichier ne fonctionne plus? Quel rapport entre le Hcopiefichier et l'historique des 5 derniers jours.
Sinon, vous pouvez peut-être créer un fichier HFSQL dédié au transfert. Par programmation, vous le videz avec HSupprimeTout. Eventuellement, vous le réindexé avec HRéindexe et l'option hNdxCompactage Vous le remplissez avec une requête Insert (avec une condition sur les 5 derniers jours) qui va chercher les enregistrements dans le fichier d'origine. Vous obtenez un fichier allégé que vous copiez sur Android.
C'est une idée. CdltMessage modified, April, 18 2024 - 12:35 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 19 messages |
|
Posted on April, 18 2024 - 2:00 PM |
Bonjour à vous, Merci pour vos retours @Voroltinquo : Le hcopiefichier ne fonctionne qu'avec un fichier hfsql et pas avec le resultat d'une requete. Il me renvoie un message d'erreur
@Cédric_34 : Le hcopiefichier ne marche plus car je ne veux pas copier mon fichier complet, juste une partie de mon fichier. La solution de la requete insert into "F_2" mets le bazarre dans ma base de données, je ne peux pas l'expliquer mais ensuite quand je veux enregistrer des données dans un fichier (n'importe quel autre fichier) il me mets un message d'erreur comme quo il ne peut pas enregistrer de données dans "F_2" La seule solution que j'ai trouvé est de faire un hcopiefichier F dans F_2 par exemple de faire une requete de suppression des données que je ne veux pas fans F_2 et de faire un hcopiefichier F_2 du serveur dans F sur la tablette. Cela fonctionne mais je me demandais s'il y avait pas plus "simple" |
| |
| |
| | | |
|
| | |
| |
Registered member 546 messages |
|
Posted on April, 18 2024 - 2:14 PM |
Difficile d'en dire plus, j'ai une appli qui fonctionne ainsi et je n'ai pas de souci pour remplir le fichier temporaire. Y a t-il des liaisons entre les fichiers HFSQL, voire des contraintes d'intégrité ??? |
| |
| |
| | | |
|
| | |
| |
Registered member 19 messages |
|
Posted on April, 18 2024 - 2:27 PM |
Oui il y a des liaisons entre les fichiers et des contraintes d'intégrité mais qui ne rentre pas en conflit. C'est juste la requête insert into qui ne fonctionne pas
Insert INTO Facture_A (Sur la tablette) SELECT Facture.* FROM Facture (Serveur) WHERE Facture.Date BETWEEN Date1 AND Date2
Les données sont bien copiées dans le fichier Facture_A sur la tablette mais ma base sur le serveur est corrompu ensuite Si je veux enregistrer des données dans le fichier client, il me dit impossible d'enregistrer les données dans Facture_A C'est fouMessage modified, April, 18 2024 - 2:27 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 546 messages |
|
Posted on April, 18 2024 - 2:52 PM |
En fait, ça n'est pas comme ça que je fais. J'ai créé Facture_A au même emplacement que Facture. Je le remplis. puis je le copie avec changement de nom (Facture_A devient Facture après copie). |
| |
| |
| | | |
|
| | |
| |
Registered member 19 messages |
|
Posted on April, 18 2024 - 3:03 PM |
Ok, je vais tenter ta solution En gros si cela fonctionne comme tu fais je gagne une étape qui est la suppression des données Je tente et je te tiens au courant Merci |
| |
| |
| | | |
|
| | |
| |
Registered member 3,893 messages Popularité : +227 (347 votes) |
|
Posted on April, 18 2024 - 3:32 PM |
Je ne parlais pas d'utiliser HCopieFichier. Lorsque je désire faire ce genre de transfert je passe par des tableau de classes mappée via FichierVersTableau et MémoireVersFichier.
Ouvrir(ConnexionServeur) Exécuter Requête Copier RésultatRequête DANS tableau de ClasseMappée Ouvrir(ConnexionClient) Récupérer chaque ClasseMappée DANS TableTransférée Attention, le HAjoute devra être utilisé avec les option hForceIDAuto+hIgnoreIntégrité
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Registered member 19 messages |
|
Posted on April, 18 2024 - 3:43 PM |
Merci Voroltinquo pour ta solution, Je ne connais pas du tout la technique mais je vais l'étudier.
Pour info la solution de Cédric_34 Fonctionne.
Le fait de vouloir faire un insert into dans F1 sur la tablette d'une sélection du fichier F1 du serveur directement ne fonctionne pas et me faisait planter la base sur le serveur par contre la solution de Cédric_34 fonctionne. Il faut faire un insert into dans F2 sur le serveur d'une sélection du fichier F1 du serveur puis faire un hcopiefichier F2 (du serveur) dans F1 sur la tablette. |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|