Condizione if fra due tabelle

lunedì 02 aprile 2012 - 10.54
Tag Elenco Tags  Access (.mdb)  |  Office 2003

asdrubale Profilo | Newbie

Buongiorno a tutti,
non so come superare questo problema:

In un file access 2003 ho creato due tabelle A e B.
Ciascuna è data da due campi : ID e Nome, contatore e testo.
Quindi ho ID A e NomeA e ID B e NomeB.

In Nome A ho un elenco di 10 categorie.
In Nome B ho una lista di 100 parole.

Ho poi una maschera, con campo a tendina per NomeA ed un altro campo tendina per NomeB.

Avrei necessità di realizzare la seguente condizione nella maschera:

Se in tendina NomeA scelgo categoria 1, devo poter scegliere, nella tendina in NomeB, solo fra le prime 10 parole.

Se in tendina NomeA scelgo categoria 3, devo poter scegliere, nella tendina in NomeB, solo fra le parole nei record fra 45 e 48.

Credo non sia difficile per esperti come voi, ma mi trovo in grande difficoltà.

Vi prego cortesemente di aiutarmi, grazie.

renarig Profilo | Expert

>Se in tendina NomeA scelgo categoria 1, devo poter scegliere,
>nella tendina in NomeB, solo fra le prime 10 parole.
>
>Se in tendina NomeA scelgo categoria 3, devo poter scegliere,
>nella tendina in NomeB, solo fra le parole nei record fra 45
>e 48.


Facciamo un passo per volta:
Innanzitutto strutturiamo bene le tabelle.

Se ho capito bene per ogniuno dei 10 valori di A
corrispondono piu valori di B
Giusto ?????

Allora devi aggiungere un campo alla tabella B
in cui scrivi quale è il record di A associato


Per esempio alle prime 10 parole di B devi
associare la categoria 1 di A
Eccetera


Superato questo dettaglio vediamo le
caselle a tendina


asdrubale Profilo | Newbie

Grazie per la risposta. Hai centrato il problema.

Se ho capito bene, ho fatto così:

STRUTTURA TABELLA A: campi ID A (contatore e chiave primaria) e NomeA (testo). Ho inserito 10 record.

STRUTTURA TABELLA B: campi ID B (contatore e chiave primaria), ID A (numerico) e NomeB (testo). Ho inserito 100 record. Nella colonna ID A, ho abbinato il numero 1 ai primi 10 record. Ho abbinato il 2 ai successivi 7 record e così via.

Ho messo in relazione le due tabelle per il campo ID A (prima opzione fra le tre tipologie di join)

Giusto?

renarig Profilo | Expert

Bene, a questo punto:

1) devi fare la tua maschera.


2) Una semplice casella a " bandiera " ( chiamiamola BA ) che
abbia origine dalla tabella A

3) Una query ( chiamiamola QB ) che abbia origine dalla tabela B
ma fra i " criteri" deve avere la casella BA


4) Una casella a bandiera ( chiamiamola BB )
che abbia origine dalla query QB


5) Poi devi fare un po di lavoro affinche quando cambi il valore di BA
venga automaticamente aggiornata la lista di BB



Facci sapere

asdrubale Profilo | Newbie


Ho pensato di fare una sola tabella.
Adesso ho la prima lista in un campo e la seconda nel campo adiacente.
Nella maschera ho creato i menu a tendina.
Nel primo mi consente di selezionare dal primo campo e nel secondo dal secondo campo.
Finora, esattamente ciò che volevo.
Come faccio, una volta selezionato un valore della prima tendina a restringere le opzioni del secondo campo nella seconda tendina?
Help!!!!
Grazie!

renarig Profilo | Expert

Non ho capito bene,

erano 10 record e 100 record

adesso sono su tabella unica,
significa che i 10 record sono diventati 100 ???
hai raggruppato ???


Prova ad allegare un file .mdb (Access2003)


asdrubale Profilo | Newbie


Buongiorno a tutti,
ho preparato una semplificazione; tanto il concetto è sempre lo stesso.
Se seleziono "primi" dalla tendina "portate", non vorrei poi mi comparisse anche "torta" nella tendina "piatti"
Le ho provate tutte, ma non ne sono venuto a capo.
Ringrazio e saluto
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5