Rechercher : dans
Par :

ACCES Remplissage automatique de champ

Dernière réponse le 24 sep 2008 à 17:28:44 Maxime, le 24 sep 2008 à 15:18:27 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaiterais, dans une table, pouvoir définir le contenu d'un champ suivant les données d'un autre champ. Je m'explique:

Je veux créer un champ "Commentaires" dépendant d'un champ "Code".
Dans le champ commentaire, je veux écrire "Dernier N°" si et seulement si dans le champ Code = "12"

Est-ce envisageable?
Puis-je espérer pouvoir faire un calcul de genre?

Merci à ceux qui pourrons m'aiguiller

Configuration: Windows XP
Firefox 3.0.1

1

RailBird, le 24 sep 2008 à 15:41:57
  • +1

Ces champs sont-ils dans la même table?
Je te propose un petit code VBA, avec une jolie requête SQL ^^

Répondre à RailBird

2

Max2350, le 24 sep 2008 à 15:47:06

Merci RailBird,

Oui ces 2 champs sont bien dans la même table

Répondre à Max2350

3

RailBird, le 24 sep 2008 à 16:01:12

Ok.

Option Compare Database
Option Explicit

'Déclaration Variables Globales

Dim db As New ADODB.Connection
Dim rst As New ADODB.Recordset

'Cette fonction est appelée pour initialiser ADO
Private Function initADO() As Boolean
On Error GoTo err
If db.State <> adStateClosed Then db.Close
If rst.State <> adStateClosed Then rst.Close
Set db = CurrentProject.Connection

initADO = True
Exit Function

err:
MsgBox err.Number, err.Description
initADO = False

End Function

Private Sub Bascule0_Click()

initADO
Dim MyString As String
MyString = "Dernier N°"

db.Execute "UPDATE Table1 SET Commentaire='" & MyString & "' WHERE Code='12'"

End Sub

Ou tout simplement crée une requête dans Access et copier :

UPDATE Table1 SET Commentaire='" & MyString & "' WHERE Code='12'

Répondre à RailBird

4

RailBird, le 24 sep 2008 à 16:02:36

Oups remplacer '" & MyString & "' par 'Dernier N°' pour la requête SQL ;)

Répondre à RailBird

5

Max2350, le 24 sep 2008 à 16:17:13

Merci mais cela me parait bien compliqué tout au moins pour la première partie, mais si je devais utiliser cela Où dois-lje le mettre ?

J'ai donc préféré créer une requète


UPDATE Table1 SET Commentaire='Dernier N°' WHERE Code='12'

J'ai rentré ce critère dans ma requête et j'ai ce message d'erreur

Vous avez rentré une opérande sans opérateur

et WHERE est surligné

Où est l'erreur ?

Répondre à Max2350

6

RailBird, le 24 sep 2008 à 16:27:48

Hm, as-tu bien remplacé Table1 par le nom de ta table?
Les champs indiqués comme Code/Commentaire sont-ils orthographié comme dans ta table?
Les ' ' sont-ils bien présents dans ta requête?

Répondre à RailBird

7

Max2350, le 24 sep 2008 à 16:40:56

Je viens de vérifier,
j'avais effectivement une erreur puisque dans ma table 'commentaire' n'a pas de majuscule
j'ai donc corrigé mais j'ai toujours le même message et WHERE toujours surligné

Répondre à Max2350

8

RailBird, le 24 sep 2008 à 16:47:00

C'est étrange parce que j'ai fais le test et ça marche niquel!
Essaye alors ma première solution
Dans un formulaire tu crées un bouton.
ALT + F11

Tu copies le code que je t'ai donné en replaçant Private Sub Bascule0_Click() par le nom de ton bouton _click
Pour avoir le nom du bouton, faut être en mode création, clique droit sur le bouton, propriétés, et là tu devrais avoir le nom.
Si ça marche toujours pas, je vois pas où est l'erreur :O

Répondre à RailBird

9

Max2350, le 24 sep 2008 à 16:57:23

Ok,
Je te remercie pour ta contribution. Je vais devoir arrêter ce travail pour le moment, je vais le reprendre plus tard et créer un formulaire pour faire ce que tu me dis
Je te tiendrai au courant de l'évolution
Bonne soirée

Répondre à Max2350

10

 Max2350, le 24 sep 2008 à 17:28:44

J'ai crée un formulaire: J'ai toujours la même erreur qui semble résider dans la formule

Répondre à Max2350