2010-01-20 2 views
0

Je me rends compte de la nouveauté de cette question, mais les recherches google ne m'aident pas.Lire les données d'une table (débutant MS Access)

J'ai créé une base de données MS Access et j'essaie de mettre à jour automatiquement une cellule dans une rangée lorsqu'une autre cellule est mise à jour avec des données d'un menu déroulant. J'ai créé un sous-programme "afterupdate" pour la zone de texte dans le formulaire, et je peux simplement créer un "select case" pour mettre à jour la cellule en fonction de la valeur entrée. Cependant, le cas de sélection serait très long et j'ai déjà la liste de valeurs renseignée dans une autre table de la base de données. Y at-il un moyen de définir la valeur de la nouvelle cellule à quelle que soit la valeur correspondante?

Exemple:

Tableau 1:

mode --- Heure

A --------- 01:00

B ---- ----- 2:00

C --------- 4:00

Ainsi, Dans mon formulaire, lorsque je sélectionne "A" pour une cellule, une autre cellule se met automatiquement à jour avec l'information "1:00". Encore une fois, "Select Case" fonctionne, je me demande s'il y a un moyen plus rapide.

+0

Est-ce que vous souhaitez faire sous la forme ou dans le tableau ? –

+0

En ce moment, je peux mettre à jour la valeur dans le formulaire, et la table est mise à jour. Le tableau que j'essaye de mettre à jour n'est pas celui avec les données "mode, temps". – James

Répondre

0

Si vous souhaitez le faire sous une forme, permet d'essayer

  • Créer un formulaire avec une zone de liste déroulante appelée cmbMode.
  • sur les propriétés /données changement Source Ligne à SELECT * FROM tblModes.
  • sur les propriétés /format changement nombre de colonnes à 2.
  • Sur le Propeties/Format changement Largeurs Colonne à
  • 3,0 Créer une zone de texte appelé txtTime .
  • sur les propriétés /données changement contrôle de code source à = [cmbMode]. [Colonne] (1).

Cela devrait être mis à jour automatiquement lors du changement.

EDIT

Tout comme une pensée après, ce ne sera pas mise à jour des valeurs à une table, comme la zone de texte ne sera pas lié à un champ.

Vous pouvez changer l'événement zone de liste déroulante de AFTER_UPDATE à utiliser (si la zone de texte est lié à la TIME champ) à utiliser

Time.Value = cmbMode.Column(1) 
Questions connexes