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

Requêtes et SQL. Discussion :

Création Champ case à cocher


Sujet :

Requêtes et SQL.

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut Création Champ case à cocher
    Bonjour,
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Docmd.runSQL ("ALTER TABLE Matable ADD COLUMN Choix YESNO ")
    on crée un champ boolean avec vrai/faux (-1/0).
    Je souhaiterais obtenir un champ avec cases à cocher.
    Evidemment, on peut toujours modifier ensuite à la main le type de champ, mais je préférerais pouvoir obtenir directement par code des cases à cocher !
    J'ai essayé sans succès avec checkbox à la place de yesno.

    Merci de l'aide
    Cordialement

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    Personnellement je crée mes champs avec la procédure suivante (qui permet de les créer dans une table extérieure si besoin) :

    Toutes les explications de principe sont dans l'exceltent tuto DAO : http://warin.developpez.com/access/d...tie_4#L4.4.4.1

    La case à cocher est ligne 144 (propriété displaycontrol)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Public Sub CreeChamp(odb As Object, table As String, nv As Boolean, champ As String, Typ As Integer, lg As Integer, auto As Boolean _
    , req As Boolean, vide As Boolean, Defaut As String, Valid As String, Descr As String, Optional clef As String = "" _
    , Optional RT As String = "", Optional RC As String = "")
    If Not Mode_debug Then On Error GoTo err:
    Dim oTbl As DAO.TableDef, oFld As DAO.Field, prp As DAO.Property
    Dim FSO As New Scripting.FileSystemObject, FileText As Scripting.TextStream, T As String
     
    102 If nv Then
          'Ouvre le .ini et ajoute une ligne - 12.2f nom variable
    104   Set FileText = FSO.OpenTextFile(Planet_ini, ForAppending, False)
    106   FileText.WriteLine table & Space(15 - Len(table)) & "=planetDB.mdb" '12.0a
    108   FileText.Close: Set FileText = Nothing
    110   Set FSO = Nothing
        End If
     
    112 If nv Then Set oTbl = odb.CreateTableDef(table) Else Set oTbl = odb.TableDefs(table)
    114 If Typ = dbText Then Set oFld = oTbl.CreateField(champ, Typ, lg) Else Set oFld = oTbl.CreateField(champ, Typ)
    116 If auto Then oFld.Attributes = dbAutoIncrField    'Définit le champ en numero_auto
    118 oFld.Required = req                               'Null interdit ?
    120 If Typ = dbText Then oFld.AllowZeroLength = vide  'chaine vide autorisée ?
    122 If Len(Defaut) > 0 Then oFld.DefaultValue = Defaut
    124 If Len(Valid) > 0 Then oFld.ValidationRule = Valid
    126 oTbl.Fields.Append oFld 'Ajoute le champ à la table
    128 If nv Then odb.TableDefs.Append oTbl   'Ajoute la table à la base de données
    130 If Nz(Descr) > " " Then
    132   Set prp = oFld.CreateProperty("Description", dbText, Descr)
    134   oFld.Properties.Append prp
        End If
    136 If Typ = dbBoolean Then
    138   Set prp = oFld.CreateProperty("Format", dbText, "Yes/No")
    140   oFld.Properties.Append prp    'Format oui/non
    142   Set prp = oFld.CreateProperty("DisplayControl", dbInteger, 106)
    144   oFld.Properties.Append prp    'case à cocher
        End If
    146 oTbl.Fields.Refresh           'Rafraichit la collection
    148 odb.TableDefs.Refresh
     
    150 If Len(clef) = 1 Then Call CreeIndex(odb, table, champ, clef)
    152 If Len(RT) > 0 Then Call CreeRelation(odb, table, champ, RT, RC)
     
    154 Set prp = Nothing
    156 Set oFld = Nothing
    158 Set oTbl = Nothing
        Exit Sub
    err: Call message("Erreur " & err.Number & "/" & Erl & " dans fonctions.CreeChamp sur " & table & "." & champ & " : " & err.description)
    End Sub
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    +1 avec Nico84.

    Les requêtes DDL d'Access ne permettent pas de spécifier le contrôle d'affichage.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut
    Merci à nico84 et à Tofalu.
    Cordialement

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

Discussions similaires

  1. [AC-2003] Créer champ case à cocher
    Par AndréPe dans le forum VBA Access
    Réponses: 8
    Dernier message: 10/12/2013, 18h17
  2. Champs "Case à cocher"
    Par nyto35 dans le forum VBA Word
    Réponses: 1
    Dernier message: 30/04/2013, 17h53
  3. Réponses: 2
    Dernier message: 18/03/2008, 16h07
  4. [REQUETE]Afficher un champ "case à cocher" dans une requête SQL-Access
    Par Amael ROCHE dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/04/2007, 11h07
  5. Valeur incorrecte pour ce champ (case à cocher)
    Par pifou25 dans le forum Access
    Réponses: 3
    Dernier message: 29/12/2006, 17h19

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