Newsgroup: it.comp.appl.access
Titolo: Ma devo usare: "Set" , "=" o che cosa?

Ragazzi, č da ieri che sono su questo problema, mi avete dato tante
risposte dalle quali ho imparato diverse cose e metodi diversi ma,
cambiano i problemi e io mi ritrovo sempra a lottare con le variabili.
Qualcuno mi puň spiegare perchč, dando questa dichiarazione all'interno
di una Private Sub Tasto1_Click() mi si apre sempre la finestra che mi
chiede di mettere un valore per Pippo? Perchč, con le due righe che
seguono non se lo memorizza sto c***o di valore?
Dim pippo As String
    pippo = [Forms]![Prodotto]![Famiglia].Column(1)
Ho provato a mettere pippo as Long, integer, altre cose e mi dice che il
tipo non č corrispondente. Se avete altre idee sono senz'altro ben
accette ma vi prego, oltre all'altra idea, datemi una risposta a questa
domanda altrimenti tra mezz'ora, risolto questo problema con un altra
idea, mi ritrovo che non so come usare le variabili e devo postare un
altro messaggio.
PS: sono certo che in [Forms]![Prodotto]![Famiglia].Column(1)un valore
c'č!!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 c'è!!
Anzitutto devi usare un sabject tipo: dichiarazione variabili per stare nel
tuo solco. In realtà dovrebbe essere proprietà column().
Poi detta proprietà anzitutto parte da 0 non da 1 ->quindi verifica
poi contano anche le colonne a larghezza 0: se la tua combo è stata creata
col wizard, potrebbe averti nascosto l'indice della tabella.
facci sapere e buona sfilata (visto che per silenzio assenzo ho assodato che
di lavoro fai la pelliccia!!)
Ciao MAssimiliano
 
--------------------------------
Inviato via 
http://usenet.libero.it

 Ciao MAssimiliano
Vabbè, faccio la pelliccia, ma mica me la metto adesso che esce la
primavera....
Facciamo i seri!
Mi sto incazzando come una bestia. Ho aggirato ancora una volta
l'ostacolo della variabile visto che oggi mailgate fa i capricci e mi
sono subito ritrovato un dilemma tremendo!!!
Ho, nella maschera la casella di testo collegata ad un campo contatore
(ID).
Faccio una semplice query e dico:
INSERT INTO Prodotto_2_Attributo ( [id Attributo], [ID Prodotto], Valore
)
SELECT [Attributi di un figlio].[ID Attributo], [forms]![prodotto]![ID]
AS Espr1, Null AS Espr2
FROM [Attributi di un figlio];
Risultato? Non accoda nulla a causa di violazioni di chiave (ho
verificato che non sta replicando le chiavi).
Vado a vedere l'anteprima e cosa trovo...
Trovo che il campo [ID Prodotto] che dovrebbe essere legato al contatore
è una lettera.
Metto un nuovo record e avanza di una lettera, un altro e un altra
lettera.
Cribbio, in nessun posto nel mio computer c'è scritto che quel campo è
una stringa, è un NUMERO!!!
Perchè me lo converte in una lettera?
Divento scemo anche xè sto facendo tutta sta roba solo x fare un favore
al capo, il mio lavoro (che non è poco e deve essere finito entro
luglio) e tutt'altra faccenda!


 ha scritto nel messaggio
news:567326215d15b29991b...@mygate.mailgate.org...

Per prima cosa se il campo [id Attributo] della tabella Prodotto_2_Attributo
è di tipo Contatore non devi indicarlo nella INSERT INTO e neppure nella
SELECT: il valore sei campi di Tipo Contatore non si imposta, viene
determinato automaticamente da Access.
Quindi intanto scriverei :
INSERT INTO Prodotto_2_Attributo ([ID Prodotto], Valore)
SELECT [forms]![prodotto]![ID] AS Espr1, Null AS Espr2
FROM [Attributi di un figlio];
Poi in [ID Prodotto] di tutti i record ci va a finire per tutti i record il
valore contenuto nel controllo ID della maschera chiamata prodotto; e in
tutti i record nel campo Valore ci va a finire il valore Null.
Non capisco che senso ha la cosa.
E poi Valore non è per caso che sia un campo di tipo Numerico o Valota?
Se si, ci metti il valore Null?
E poi non ti inc****re come un ghepardo: vatti a sfogare con il tuo capo.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 E poi non ti inc****re come un ghepardo: vatti a sfogare con il tuo capo.
Innanzitutto grazie.
Ho risolto il problema rinunciando ad assegnare il valore dalla maschera
e glielo faccio ricavare da un'altra query. Mi rimane comunque il dubbio
del perchè mi restituisse delle lettere.
Il fatto è che ci sono diversi ID in ballo....
In questa INSERT INTO non si trattava di contatori ma di riferimenti a
contatori infatti Prodotti_2_attributi è una tabella ponte tra le
tabelle prodotti e attributi che sono in relazione N:N.
Il campo valore è di testo infatti un attributo potrebbe essere
Cilindrata (e metto quindi un numero) oppure Colore (e metto "Giallo")
Questa è andata, mi rimane da capire come faccio a dire
Me.[ID] = SELECT MAX([id famiglia]) FROM famiglia
dove, ancora una volta i due ID non possono essere corrispondenti e non
mi basta dire go to newrec
Grazie ancora, ciauuu


Mi hai già risposto nell'altro post, grazie.
