Domanda

Ho creato in Access 2007 modulo che visualizza, per esempio, Prodotti da una tabella Prodotti.Uno dei campi della tabella Prodotto è un Idcategoria che corrisponde a questo prodotto di categoria superiore.

In forma, Idcategoria deve essere rappresentato come una casella combinata a cui è associata la Categoria della tabella.L'idea è abbastanza semplice:la selezione di una nuova Categoria di aggiornamento Idcategoria nella tabella Prodotti.

Il problema che sono in esecuzione in modo che la selezione di una nuova Categoria di aggiornamenti la Categoria della tabella di Categoria invece di aggiornare Idcategoria nella tabella Prodotti.La ragione di questo è che sembra che la casella combinata deve essere legata solo alla Categoria della tabella di Categoria.

Quello che succede è che se il prodotto ha un Idcategoria 12, che è il nome della Categoria "Sedie" nella tabella delle categorie, quindi selezionare un nuovo valore, diciamo "Tabelle" (Idcategoria 13) nella casella combinata aggiornamenti Idcategoria di 12 con il nuovo nome della Categoria "Tavoli" invece di aggiornare il Prodotto tavolo Idcategoria a 13.

Come posso associare la Categoria tabella a una combox casella in modo che la proprietà di datavaluefield (che vorrei esistesse in Access) è il nome della Categoria e il datavaluefield è Idcategoria e solo Idcategoria del Prodotto verrà aggiornato quando l'elemento della casella combinata è cambiato?

Edit: Vedere la accettato la risposta qui sotto.Ho anche bisogno di modificare il numero di colonne 2 e tutto ha iniziato a funzionare perfettamente.

È stato utile?

Soluzione

È necessario utilizzare entrambi i valori nella query per la casella combinata.
ad es.SELEZIONARE Idcategoria, Nomecategoria DA CategoryTable...Associare la casella combinata per la prima colonna CategoryId.Impostare la larghezza delle colonne per la casella combinata per 0in (non secondo il valore necessario e, quindi, non c'è limite).Questo nasconderà la prima colonna che contiene il valore selezionato;tutto ciò che mostra il valore di descrizione, che è tutto ciò che si desidera vedere.Così ora, quando si seleziona un'opzione diversa nella combobox, il valore restituito dalla casella combinata sarà il valore associato, Idcategoria, non Nomecategoria.

Ah, sì Alison, scusa, mi ero dimenticato di impostazione combobox columncount = 2.

Altri suggerimenti

Si dovrebbe anche controllare che le categorie della tabella ha una chiave primaria sul campo Nomecategoria.Si configurazione originale dovrebbe avere gettato un errore o un messaggio che dice che l'aggiornamento sarebbe una violazione della chiave.Come mi sembra si possono avere 2 categorie con lo stesso nome.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top