IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Problème avec un champ d'Index


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Amateur / Programme pour le plaisir
    Inscrit en
    Juillet 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Amateur / Programme pour le plaisir

    Informations forums :
    Inscription : Juillet 2024
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Problème avec un champ d'Index
    Bonjour,
    C'est mon premier post dans ce forum. Je programme un petit site juste pour un besoin personnel. Il s'agit d'une gestion de base de données avec mes biens acquis et ceux que je désire visible depuis Internet afin d'éviter les doubles achats.
    Voilà, j'ai un petit problème en SQL (enfin je pense) : j'ai une table dans ma base de données qui contient plusieurs champs dont le champ "IDSouhaits" qui est un Index qui (dans PHPMyAdmin) choisi le premier nombre de libre et l'assigne à la nouvelle fiche.
    Bêtement, j'ai pensé que la requête ci-dessous ferait la même chose mais n'en est rien. Y' a t'il un moyen d'y parvenir, ou dois-je m'en remettre à la fonction SQL COUNT ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO `Souhaits` (`IDSouhaits`, `TitreMedia`, `InfoComplementaires`, `TypeMedia`, `VendeursTrouves`, `PrixOfficiel`, `AchatEnCours`, `AchatUrgent`, `ASupprimer`) VALUES ('', 'Test bidonné', '', 'JV', 'AUCUN', '0', '0', '0', '0')
    J'ai testé la création d'une nouvelle fiche dans ma table avec PHPMyAdmin, mais la requête SQL affichée est la même.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 100
    Points : 28 397
    Points
    28 397
    Par défaut
    Citation Envoyé par MarcBl Voir le message
    le champ "IDSouhaits" (...) est un Index qui (dans PHPMyAdmin) choisit le premier nombre de libre et l'assigne à la nouvelle fiche.
    Tu parles d'un identifiant auto-incrémenté ?

    Le plus simple est de ne pas lui attribuer de valeur à l'insertion de la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO `Souhaits` 
        (`TitreMedia`, `InfoComplementaires`, `TypeMedia`, `VendeursTrouves`, `PrixOfficiel`, `AchatEnCours`, `AchatUrgent`, `ASupprimer`)
    VALUES
        ('Test bidonné', '', 'JV', 'AUCUN', '0', '0', '0', '0')
    Par ailleurs, il est toujours préférable de respecter le type des colonnes lors des insertions et mises à jour. Si les colonnes `PrixOfficiel`, `AchatEnCours`, `AchatUrgent` et `ASupprimer` sont de type numérique, c'est la valeur 0 qu'il faut leur affecter et non la chaîne '0'.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Amateur / Programme pour le plaisir
    Inscrit en
    Juillet 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Amateur / Programme pour le plaisir

    Informations forums :
    Inscription : Juillet 2024
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Par ailleurs, il est toujours préférable de respecter le type des colonnes lors des insertions et mises à jour. Si les colonnes `PrixOfficiel`, `AchatEnCours`, `AchatUrgent` et `ASupprimer` sont de type numérique, c'est la valeur 0 qu'il faut leur affecter et non la chaîne '0'.
    Sinon :
    Merci, je viens de résoudre ce petit problème.
    Citation Envoyé par al1_24 Voir le message
    Tu parles d'un identifiant auto-incrémenté ?

    Le plus simple est de ne pas lui attribuer de valeur à l'insertion de la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO `Souhaits` 
        (`TitreMedia`, `InfoComplementaires`, `TypeMedia`, `VendeursTrouves`, `PrixOfficiel`, `AchatEnCours`, `AchatUrgent`, `ASupprimer`)
    VALUES
        ('Test bidonné', '', 'JV', 'AUCUN', '0', '0', '0', '0')
    C'est bien un auto-incrémenté, je n'avait plus le terme en tête. J'ai déjà essayé sans le champ IDSouhaits, mais la requête envoie une erreur : le champ IDSouhaits est manquant.

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 311
    Points : 39 689
    Points
    39 689
    Billets dans le blog
    9
    Par défaut
    bonjour,

    Pouvez-vous communiquer le script DDL de création de la table (ordre complet CREATE TABLE)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Amateur / Programme pour le plaisir
    Inscrit en
    Juillet 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Amateur / Programme pour le plaisir

    Informations forums :
    Inscription : Juillet 2024
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    bonjour,

    Pouvez-vous communiquer le script DDL de création de la table (ordre complet CREATE TABLE)
    Qu'est-ce qu'un script DDL ? Si c'est le script de création de la table, alors la voici ci-dessous, sinon je vous prie de m'aider à vous aider pour... m'aider.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TABLE `Souhaits` (
      `IDSouhaits` varchar(20) NOT NULL,
      `TitreMedia` text NOT NULL,
      `TypeMedia` varchar(20) DEFAULT NULL,
      `InfoComplementaires` text,
      `VendeursTrouves` text,
      `PrixOfficiel` int(11) NOT NULL DEFAULT '0',
      `AchatEnCours` int(11) NOT NULL DEFAULT '0',
      `AchatUrgent` int(11) NOT NULL DEFAULT '0',
      `ASupprimer` int(11) NOT NULL DEFAULT '0'
    ) ENGINE=InnoDB;

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 311
    Points : 39 689
    Points
    39 689
    Billets dans le blog
    9
    Par défaut
    C'est bien ça le DDL (Data Definition Language) : c'est à dire la partie du langage SQL qui permet de créer (CREATE), modifier (ALTER) ou supprimer (DROP) des objets de la base de données.
    On voit dans ce script que la colonne IDSouhaits n'est absolument pas un identifiant attribué par le SGBD, c'est à dire un identifiant auto-incrémenté pour MySQL, mais un varchar sans valeur par défaut. De ce fait, c'est non seulement un très mauvais type de données pour une clef primaire (encombrant, sensible à la collation, sensible aux changements de longeur en cas de mise à jour de la valeur, et le plus souvent d'un contenu signifiant donc instable), mais aussi une colonne dont la valeur doit obligatoirement être fournie lors de l'insert puisqu'aucune valeur par défaut n'est donnée.

    Remplacez ce type varchar par un type integer avec la propriété auto_increment et le problème sera résolu

    EDIT et j'oubliais l'essentiel : il faut ajouter la contrainte Primary Key sur la colonne IDSouhaits

    Egalement, tant qu'à faire, renommez la table "Souhaits" en "Souhait" et la colonne "IDSouhaits" en "IDSouhait"
    Pour la table : c'est une évidence que toute table peut contenir plusieurs occurrences, le "s" n'est donc pas requis, de plus, le nom de la table vient de "l'individu" au stade conceptuel, matérialisé par le type d'entité. D'où le singulier.
    Pour la colonne : là c'est encore pire, par définition, un identifiant sert à reconnaitre une et une seule ligne dans la table, le "s" est donc interdit !

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 854
    Points : 52 995
    Points
    52 995
    Billets dans le blog
    6
    Par défaut
    Autre petite chose en matière de terminologie...

    Le mot "champ", n'existe pas dans le vocabulaire consacré aux bases de données. Un champ est une zone : champ de patates pour le paysan, champ opératoire pour le chirurgien, champ de saisie dans un formulaire....
    Or un SGBDR n'a pas de formulaire.... Mais des tables avec des lignes et des colonnes...
    A lire : https://sqlpro.developpez.com/cours/sqlaz/erreurs/#L2

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Amateur / Programme pour le plaisir
    Inscrit en
    Juillet 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Amateur / Programme pour le plaisir

    Informations forums :
    Inscription : Juillet 2024
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Primo, merci SQLPro je vais lire ça le plus vite possible

    Edit : PHPMyAdmin fait l'erreur du mot champs dans sa traduction française...

    Citation Envoyé par escartefigue Voir le message
    C'est bien ça le DDL (Data Definition Language) : c'est à dire la partie du langage SQL qui permet de créer (CREATE), modifier (ALTER) ou supprimer (DROP) des objets de la base de données.
    On voit dans ce script que la colonne IDSouhaits n'est absolument pas un identifiant attribué par le SGBD, c'est à dire un identifiant auto-incrémenté pour MySQL, mais un varchar sans valeur par défaut. De ce fait, c'est non seulement un très mauvais type de données pour une clef primaire (encombrant, sensible à la collation, sensible aux changements de longeur en cas de mise à jour de la valeur, et le plus souvent d'un contenu signifiant donc instable), mais aussi une colonne dont la valeur doit obligatoirement être fournie lors de l'insert puisqu'aucune valeur par défaut n'est donnée.

    Remplacez ce type varchar par un type integer avec la propriété auto_increment et le problème sera résolu

    EDIT et j'oubliais l'essentiel : il faut ajouter la contrainte Primary Key sur la colonne IDSouhaits

    Egalement, tant qu'à faire, renommez la table "Souhaits" en "Souhait" et la colonne "IDSouhaits" en "IDSouhait"
    Pour la table : c'est une évidence que toute table peut contenir plusieurs occurrences, le "s" n'est donc pas requis, de plus, le nom de la table vient de "l'individu" au stade conceptuel, matérialisé par le type d'entité. D'où le singulier.
    Pour la colonne : là c'est encore pire, par définition, un identifiant sert à reconnaitre une et une seule ligne dans la table, le "s" est donc interdit !
    Dans le même fichier SQL qui créée mes tables, il y avait ça aussi, bien après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE `Souhaits`
      ADD UNIQUE KEY `Index_Souhait` (`IDSouhaits`);
    Mais il n'y avait rien sur l'auto-incrémentation. Il semble que je l'avais oublié lors de la première création de mes tables.
    Autant pour moi. Et désolé de vous avoir dérangé pour rien.

    Edit :

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 854
    Points : 52 995
    Points
    52 995
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par MarcBl Voir le message
    Primo, merci SQLPro je vais lire ça le plus vite possible

    Edit : PHPMyAdmin fait l'erreur du mot champs dans sa traduction française...
    Normal il s'agit d'un logiciel non professionnel et cette erreur de traduction est courante hélas....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  10. #10
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 311
    Points : 39 689
    Points
    39 689
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par MarcBl Voir le message
    Dans le même fichier SQL qui créée mes tables, il y avait ça aussi, bien après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE `Souhaits`
      ADD UNIQUE KEY `Index_Souhait` (`IDSouhaits`);
    Oui, mais une contrainte UNIQUE ne suffit pas, il manque la contrainte PRIMARY KEY !
    les différences sont énormes :
    • d'une part une colonne UNIQUE peut tout à fait être NULLABLE, contrairement à une PK qui est obligatoirement NOT NULL ;
    • d'autre part la PK sert à vérifier l'intégrité des données grâces aux contraintes REFERENCE, et ça c'est fondamental !


    Et comme dit plus haut, un type varchar est ce qu'on peut faire de pire pour une PK, à remplacer par un type INTEGER avec la propriété AUTO_INCREMENT.

    Attention aussi au typage des autres colonnes, le type TEXT, non normatif, est le plus souvent aussi symptomatique d'une erreur de modélisation, et un prix en integer ne convient que si aucune décimale n'est requise.

  11. #11
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 854
    Points : 52 995
    Points
    52 995
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    ...
    d'autre part la PK sert à vérifier l'intégrité des données grâces aux contraintes REFERENCE, et ça c'est fondamental !
    ...
    Tu oublies juste qu'une contrainte UNIQUE peut aussi servir de référence d'intégrité à une clé étrangère.... Chose que je montre toujours dans mes cours.....

    Petite demo...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    CREATE TABLE T_PATIENT_PAT
    (PAT_ID           INT IDENTITY PRIMARY KEY,
     PAT_NUMSECU      CHAR(13) NULL UNIQUE,
     PAT_NOM          VARCHAR(32) NOT NULL);
     
    CREATE TABLE T_ORDONANCE_ODC
    (ODC_ID           INT IDENTITY PRIMARY KEY,
     PAT_ID           INT NOT NULL FOREIGN KEY REFERENCES T_PATIENT_PAT (PAT_ID),
     ODC_DATETIME     DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP);
     
    CREATE TABLE T_REMBOURSEMENT_CMU_RBC
    (RBC_ID           INT IDENTITY PRIMARY KEY,
     PAT_NUMSECU      CHAR(13) NOT NULL FOREIGN KEY REFERENCES T_PATIENT_PAT (PAT_NUMSECU),
     RBC_MONTANT      NUMERIC(16,2) NOT NULL);
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  12. #12
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 311
    Points : 39 689
    Points
    39 689
    Billets dans le blog
    9
    Par défaut
    Je n'oublie rien, mais ces contraintes sont facultatives alors que les contraintes reference vis à vis des PK sont déployées automatiquement, sous réserve qu'on utilise un logiciel de modélisation, ce que je recommande très fortement, ça évite de nombreuses erreurs bien trop fréquentes.
    En général, les contraintes liées à des colonnes ou groupes de colonnes unique non PK sont implémentées pour les CIF (inclusion, exclusion, partitionnement...)

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Amateur / Programme pour le plaisir
    Inscrit en
    Juillet 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Amateur / Programme pour le plaisir

    Informations forums :
    Inscription : Juillet 2024
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Alors pour être franc, je n'ai rien appris du SQL à ma grande honte. Tout mon savoir est, pour le moment, appris en copiant-collant les requêtes SQL affichées par PHPMyAdmin. Mais, promis, dès que j'aurais fini la V1 de mon site, je m'y met sérieusement, tout comme pour le PHP 8. Vous voyez, il me reste encore beaucoup de chemin à parcourir, et donc beaucoup de bonheur aussi.

  14. #14
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 311
    Points : 39 689
    Points
    39 689
    Billets dans le blog
    9
    Par défaut
    Le problème de PHPMyAdmin est qu'il ne propose pas de modélisation conceptuelle, on modélise directement les tables, c'est la raison pour laquelle les modèles de données MySQL sont trop souvent très mal faits

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Amateur / Programme pour le plaisir
    Inscrit en
    Juillet 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Amateur / Programme pour le plaisir

    Informations forums :
    Inscription : Juillet 2024
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    Le problème de PHPMyAdmin est qu'il ne propose pas de modélisation conceptuelle, on modélise directement les tables, c'est la raison pour laquelle les modèles de données MySQL sont trop souvent très mal faits
    Je veux bien le croire, mais pour faire un petit site rapidement sans vraiment rien connaitre en SQL, c'est pratique. Mais une fois, ma V1 faite, j'ai encore plusieurs facteurs à améliorer : passer à PHP 8, apprendre la structure et l'utilisation de SQL (MySQL pour être précis)… J'en salive d'avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] SEEK avec un critère plus court que le champ d'index
    Par mihego32 dans le forum Contribuez
    Réponses: 0
    Dernier message: 02/04/2017, 15h41
  2. Réponses: 12
    Dernier message: 25/02/2014, 18h56
  3. [AC-2007] Gestion des doublons avec 2 champs indexés
    Par bestall666 dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/06/2010, 18h53
  4. Dbase indexer un champs caractère avec un champ numérique
    Par BRUNOROB dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 11/04/2007, 16h17
  5. Réponses: 1
    Dernier message: 11/08/2005, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo