Newsgroup: it.comp.appl.access
Titolo: Stored procedures - Accodamento records

Buongiorno a tutti.
Come alcuni sanno sto cercando di familiarizzare con adp.
Sono in difficoltà (anche!) nel tentativo di accodare 1 record da
tabella1 a tabella2 in funzione di parametri specificati
su 1 o + maschere. (quanti mi manca la query di accodamento classica!).
Sono riuscito invece a selezionarne 1 sempre con le stesse condizioni.
+ in generale nn sono ancora riuscito a trovare esempi e documentazione
che mi indirizzino verso il modo "corretto" di operare.
Forse sono ancora troppo legato agli schemi utilizzati per A2000/VBA.
Intando che mi riquado helps, cerco in internet ... quancuno ha qualche
consiglio da darmi ?
Grazie+
Ciao
MArco
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:30a0dcf798e518df7da...@mygate.mailgate.org...

Ciao Marco,
se la selezione del record che vuoi inserire l'hai già fatta e funziona
direi che sei al 90% del lavoro, infatti basterà aggiungere:
INSERT INTO Tabella2 (campo1, campo2, ......)
prima della tua istruzione  SELECT
Ciao
Cinzia

 Cinzia
Cinzia, stai diventando il mio faro !
Purtroppo le cose non stanno così, mi sono spiegato poco e male.
Sono riuscito a visualizzare un record da tabella specificando i 
parametri in usa SP e in una proprietà della maschera. 1 a 0 per me.
Adesso ho una form1 non associata. Inputo il codice. Da tabella1 vorrei
copiare "quel" codice selezionandolo tra quelli dell'azienda "X" 
specificata in una form2 aperta precedentemente, in una tabella di 
servizio con la stessa struttura di tabella1 che conterrà solo "quel" 
record. Vorrei poi usare tabella2 come origine di form1. Poi deciderò se
riaggiornare tabella1 oppure scartare il record.
Il problema è che non riesco a copiare "quel" record da tbl1 a tbl2.
Uso questo sistema per essere assolutamente "padrone" dell'aggioramento
dei dati su tabella1.
Esistono metodi + raffinati ?
Non so + come ringraziarti.


 ha scritto nel messaggio
news:117e8629a7ba0fcf183...@mygate.mailgate.org...

Ciao Marco,
se non ho capito male tu vuoi identificare un record in una tabella in base
a 2 parametri uno che scrivi in una textbox di una maschera non associata, e
l'altro che prendi dal valore di una casella in un'altra maschera.
Dopodichè vorresti  prendere questo record copiarlo in un'altra tabella
visualizzarlo in una maschera ed eventualmente  modificarlo e risalvarlo
nella tabella originale.
Francamente mi sembra un giro un po contorto, potresti semplicemente usare
una maschera non associata per visualizzare il record che ti interessa e
solo nel momento in cui deciderai di salvare farai l'update del record senza
scomodare nessuna tabella temporanea.
Comunque iniziamo a risolvere questo "problema" avrai una sp diciamo Duplica
che prenderà 2 parametri il codice e l'azienda e farà
più o meno:
INSERT INTO Tabella2 (campo1, campo2....)
SELECT * FROM Tabella1 Where Campo1=@azienda AND campo2=@codice
per eseguirla basterà fare
DoCmd.RunSql "EXEC Duplica " & forms!Form2!IdDitta &", " &  "txtProdotto"
ovviamente mettendo gli apici dove servono se non sono parametri numerici
eventualmente se vuoi approfondire l'altra strada riscrivi
Ciao
Cinzia

 Cinzia
Per funzionare funziona, ... ma  ...
Premesso che il codice è di tipo nvarchar per conversione automatica da
testo essendo chiave primaria, riesco a selezionare solo 1=<valori=<9.
qualsiasi altra combinazione è scartata. ho racchiuso il dato tra apice
nella
stringa SQL. Serve un altro identificarore ?


 (da me volute e gestite). E mancandomi probabilmente qualche pezzo, ho 
Questo a suo tempo lo ho gestito mettendo un checkbox sulla testata del 
form. Se checked chiedimi conferma altrimenti vai avanti tranquillo.
Il tutto, ovviamente, sempre a causa del  "tormento" della richiesta di 
conferma.
--
a.cara

 ha scritto nel messaggio
news:9abe96da5869490310e...@mygate.mailgate.org...

Prova a postare il codice della SP e quello usato per chiamarla che vediamo
di capire xchè non va!
Cinzia

 wrote in message
news:8eUue.27326$
bc....@tornado.fastwebnet.it

Ciao Alessandro, grazie per l'intervento.
Immagino un documento, tipicamente un ordine con 1 testata + n righe.
I dati della testata sono nella form principale (singola e associata).
I dati delle righe soni nella subform (continua e associata).
Richiamo un numero.
Modifico 1 delle righe e il check diventa true.
Modifico altre righe ed il check è gia true e sarà cosi fino a nuovo
ordine .
Ne Cancello altre.
Ne modifico ancora.
Ne inserisco .....
Mi accorgo che ho sbagliato ordine !!!
Cha faccio ?
Forse con le transazioni ..... ma qui sono ancora + ignorante.
Aspetto una tua replica.


 Cinzia
sp_InsAnagrafici_Shdw :
INSERT INTO dbo.Anagrafici_Shdw
SELECT     dbo.Anagrafici.*
FROM         dbo.Anagrafici
WHERE     (Codice = @CodX) AND (Azienda = @AzX)
---------------------------------------------
Evento Codice_AfterUpdate() di MskAnagrafici
DoCmd.RunSQL "EXEC sp_InsAnagrafici_Shdw '" & Forms!MskAnagrafici!Codice
& "' , " & Forms!MskAvvio!AziendaInUso
P.S. : mantenendo la stessa impostazione del db A2K e cambiando solo le
parti strettamente necessarie fino a questo momento la procedura č
almeno
10 volte + veloce.
Purtroppo per voi mi sa che insisto.


 Cinzia
Dimenticavo di dirti che la sp ha lo stesso comportamento anche se
eseguita direttamente (dx mouse su nome scelto da elenco / apri).


 Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Ciao marco,
strano dovrebbe funzionare, come sono definiti i parametri della sp?
Ah un'altra cosa sarebbe meglio, potendo,  non usare il suffisso sp per le
stored procedure xchè l'engine di SQL quando vede sp_ pensa sia una sp di
sistema e come prima cosa la va a cercare nel db delle sp di sistema e solo
dopo la cerca nel db corrente.
Cinzia


Alors...
Il problema che poni e' leggermete diverso. C'e' uno splendido esempio 
sul sito comune (purtroppo non mi ricordo di chi e quale numero) che 
potrebbe risolvere il tuo problema.
Il mio intervento era relativo  solo al problema di evitare i noiosi 
messaggi di conferma quando non necessari o ancora meglio come 
possibilita' data all'utente di suicidarsi come meglio crede.
Normalmente uso una specie di framework autocostruito in cui i miei 
forms stanno sempre all'interno di un form contenitore. Sul form 
contenitore ci sono un po' di "gadgets" tra cui appunto il checkbox che 
citavo. Tale ck lo applico a tutti i miei forms proprio nell'intento di 
evitare le variazioni accidentali. Parte "ceccato" quando mi sono 
stufato di confermare lo "dececco"  e vivo tranquillo ;<)
--
a.cara

 a.cara
Si, si capito.
aanch'io avevo provato con un check che pero era impostato come
parametro
generale, come lu usi tu è + dinamico.
A proposito "dececco" ricorda il marchio di un'ottima pasta.
Stasera spaghetti con il pesce.



Cinzia


 Direi di si
Vado
Grazie
Ciao
MArco
