2010-06-07 3 views
-1

Je voudrais que toutes les données entrées dans une colonne spécifique aient toujours une virgule de fin et que le premier caractère soit toujours une virgule. Comment puis-je faire cela? la meilleure solution n'est probablement pas dans vba ou sql mais probablement les propriétés de la table?ms-access: spécification du formatage pour une colonne

+0

Il semble que vous essayiez de stocker plusieurs valeurs dans un seul champ. S'il vous plaît expliquer * pourquoi * vous voulez faire cela, et je suppose que le problème disparaîtra. Vous demandez comment implémenter une solution particulière, mais sans vraiment décrire le problème réel que votre solution est censée résoudre. –

+0

dave, en théorie vous avez raison, mais en pratique, parfois, vous devez utiliser des bandaids sur une solution au lieu d'une toute nouvelle solution, je suis d'accord –

+1

Tout d'abord, mon nom n'est pas "Dave". Deuxièmement, non, je ne suis pas du tout d'accord. -1 pour avoir refusé de clarifier une mauvaise question. –

Répondre

1

Déterminez si vous avez vraiment besoin de ces virgules avant et arrière stockées dans la table. Vous pouvez les inclure dans une requête lorsque vous en avez besoin.

SELECT 
    some_text, 
    "," & some_text & "," AS with_commas, 
    IIf(Not IsNull(some_text), "," & some_text & ",", Null) AS with_commas_ignore_nulls 
FROM YourTable; 

Si vous avez vraiment besoin des virgules stockées avec le champ, considérez un formulaire avec un événement Avant la mise à jour pour exiger les virgules.

Private Sub txtsome_text_BeforeUpdate(Cancel As Integer) 
    If Len(Me.txtsome_text & vbNullString) > 0 _ 
      And Not Me.txtsome_text Like ",*," Then 
     MsgBox "some_text must start and end with a comma" 
     Cancel = True 
    End If 
End Sub 
1

Si vous voulez simplement vérifier si la valeur répond aux exigences et afficher une erreur si ce n'est pas le cas, utilisez une règle de validation comme VeeArr. Si vous souhaitez corriger la valeur si elle ne répond pas aux exigences, utilisez un événement VBA.

+0

non je crois que la voie à suivre est à travers les propriétés de format, mais je ne sais pas comment l'utiliser –

+1

Improbable. La propriété Format ne modifie pas la façon dont les données sont stockées; seulement comment il est affiché. Ainsi, cela n'affecterait pas votre capacité à interroger les données. (Je suppose que vous voulez que ceci crée une liste d'éléments dans une colonne d'une table qui peut être recherchée en utilisant "%, id,%" (ce qui est une mauvaise idée, à propos). accomplissez ceci – VeeArr

+0

+1 bon point merci –

Questions connexes