Requête prenant en compte 6 des 8 chiffres d'un formulaire
Résolu
maxime 25
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
gloutonbargeot Messages postés 349 Date d'inscription Statut Membre Dernière intervention -
gloutonbargeot Messages postés 349 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travail sur une base de données qui comprend le nom de tous les salariés de mon entreprise et tous les pointages qu'ils effectuent aux postes.
Dans l'entreprise les matricules du personnel sont composé de 8 chiffres.
Le souci est que dans le logiciel de gestion de la production, nous ne pouvons excèder les 6 chiffres.
Le logiciel de production va donc prendre les 6 chiffres de droite.
Exemple :
- Matricule entreprise = 12345678
- Le même matricule dans le logiciel de production = 345678
Ils me faut donc une solution pour que ma première requête ne lisent que les 6 chiffres de droite de mes matricules entreprise afin d'associer les personnes aux pointages.
Avant, je procèdais sur excel avant d'importer mes pointages je copiais tous les matricules employées et je fesais un " =RECHERCHEV(L2;Matricule!A$2:B$281;2;FAUX) ".
J'aimerais trouver une méthode plus simple car maintenant une maccro me permet de supprimer toutes les lignes de pointage inutiles et d'importer mon fichier texte dans ma base.
Dans l'attente de vos réponse.
Je vous remercie d'avance et reste à votre disposition pour toutes questions.
Je travail sur une base de données qui comprend le nom de tous les salariés de mon entreprise et tous les pointages qu'ils effectuent aux postes.
Dans l'entreprise les matricules du personnel sont composé de 8 chiffres.
Le souci est que dans le logiciel de gestion de la production, nous ne pouvons excèder les 6 chiffres.
Le logiciel de production va donc prendre les 6 chiffres de droite.
Exemple :
- Matricule entreprise = 12345678
- Le même matricule dans le logiciel de production = 345678
Ils me faut donc une solution pour que ma première requête ne lisent que les 6 chiffres de droite de mes matricules entreprise afin d'associer les personnes aux pointages.
Avant, je procèdais sur excel avant d'importer mes pointages je copiais tous les matricules employées et je fesais un " =RECHERCHEV(L2;Matricule!A$2:B$281;2;FAUX) ".
J'aimerais trouver une méthode plus simple car maintenant une maccro me permet de supprimer toutes les lignes de pointage inutiles et d'importer mon fichier texte dans ma base.
Dans l'attente de vos réponse.
Je vous remercie d'avance et reste à votre disposition pour toutes questions.
A voir également:
- Requête prenant en compte 6 des 8 chiffres d'un formulaire
- Whatsapp formulaire opposition - Guide
- Clé windows 8 - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Créer un compte google - Guide
- Créer un compte gmail - Guide
4 réponses
Bonjour,
Tu peux découper le matricule directement dans le SQL avec la fonction SUBSTRING. il y a des différences de fonctionnement entre les types de bases de données (MySQL, SQL Server, Oracle).
Regarde ce lien: http://www.1keydata.com/fr/sql/sql-substring.php
Concrètement tu peux dire : je veux découper mon matricule du caractère 3 au caratère 8 en faisant :
SELECT SUBSTR (matricuel, 3, 8) FROM employes;
et tu récupèreras les 6 chiffres de droite :)
J'espère que c'est ce que tu cherches à faire! Tiens moi au courant
Tu peux découper le matricule directement dans le SQL avec la fonction SUBSTRING. il y a des différences de fonctionnement entre les types de bases de données (MySQL, SQL Server, Oracle).
Regarde ce lien: http://www.1keydata.com/fr/sql/sql-substring.php
Concrètement tu peux dire : je veux découper mon matricule du caractère 3 au caratère 8 en faisant :
SELECT SUBSTR (matricuel, 3, 8) FROM employes;
et tu récupèreras les 6 chiffres de droite :)
J'espère que c'est ce que tu cherches à faire! Tiens moi au courant
Salut,
si tu es bien sur Access, utilise la fonction RIGHT() :
SELECT RIGHT(Personnels.Mat_Pe, 6), Personnels.Nom_Pe, Personnels.Prenom_Pe, [Nom_Pe] & " " & [Prenom_Pe] AS NomPrenom, Personnels.Naissance_Pe, Personnels.Section_Pe, Personnels.Contrat_Pe, Personnels.Entree_Pe, Personnels.Sortie_Pe, Personnels.CentreCharge_Pe
FROM Personnels
ORDER BY [Nom_Pe] & " " & [Prenom_Pe];
si tu es bien sur Access, utilise la fonction RIGHT() :
SELECT RIGHT(Personnels.Mat_Pe, 6), Personnels.Nom_Pe, Personnels.Prenom_Pe, [Nom_Pe] & " " & [Prenom_Pe] AS NomPrenom, Personnels.Naissance_Pe, Personnels.Section_Pe, Personnels.Contrat_Pe, Personnels.Entree_Pe, Personnels.Sortie_Pe, Personnels.CentreCharge_Pe
FROM Personnels
ORDER BY [Nom_Pe] & " " & [Prenom_Pe];
SELECT SUBSTR(Personnels.Mat_Pe, 3, 8), Personnels.Nom_Pe, Personnels.Prenom_Pe, [Nom_Pe] & " " & [Prenom_Pe] AS NomPrenom, Personnels.Naissance_Pe, Personnels.Section_Pe, Personnels.Contrat_Pe, Personnels.Entree_Pe, Personnels.Sortie_Pe, Personnels.CentreCharge_Pe
FROM Personnels
ORDER BY [Nom_Pe] & " " & [Prenom_Pe];
Quand je met ca dans mon SQL il m'affiche :
Fonction "SUBSTR" non définie dans l'expression.
Ai-je-omis quelques choses ?
PS : Je ne maitrîse pas du tout SQL.
Merci d'avance
FROM Personnels
ORDER BY [Nom_Pe] & " " & [Prenom_Pe];
Quand je met ca dans mon SQL il m'affiche :
Fonction "SUBSTR" non définie dans l'expression.
Ai-je-omis quelques choses ?
PS : Je ne maitrîse pas du tout SQL.
Merci d'avance