Newsgroup: it.comp.lang.visual-basic
Titolo: [ADO] Addnew

Salve a tutti, ho un piccolo problema con ADO: non riesco a fare un Addnew,
mi da la classico errore che o i lock non sono corretti o il db non supporta
l'addnew, il fatto è che non è nessuno di questi due!!Mi spiego:
 [code]
s = "SELECT TOP 1 a.*, b.AFRevId FROM ArticoliFornitoriCaricati a JOIN " & _
        "ArticoliFornitori b ON a.AFCIdArFo = b.AFId " & _
        "WHERE a.AFCIdDTF = " & m_idDDT & _
        " AND AFRevId = " & RSArt("AFRevId").Value
    Dim RS As New ADODB.Recordset
    RS.CursorLocation = adUseServer
    RS.Open s, m_conn, adOpenDynamic, adLockOptimistic, adCmdText
    RS.AddNew  'si blocca!!!!
[/code]
La connessione è ok, e tutto il resto, ma non funziona....la tabella
dovrebbe essere a EOF = BOF ma non dovrebbe essere un problema
Grazie
P.s: scusate se non mi sono presentato...,ma vi lurko da un pò e quindi
:-))))

    RS.AddNew  'si blocca!!!!
Hai provato levando il JOIN? Solo una prova.
Ciao!

 Ciao!
[/cut]
Il fatto è che ho modificato la query, e pensavo fosse quello, poi ho
rimesso la "vecchia query", quella che funzionava prima, ma non va lo
stesso. La tabella che sto usando però è una copia con dei record
modificati (l'originale l'ho rinomimata con
"ArticoliFornitoriCaricati.old", si sa mai...) ma le impostazioni sui
singoli campi e sulla tabella "sembrano", dico "sembrano" gli
stessi....probabilmente il problema è li, ma non riesco a trovarlo. 
Ciao e grazie
Edoardo
-- 
 (o_     Edoardo "Edoloz" Carminati
 //\     "VI" Registered Linux user #301558
 V_/_     "VI" = "V"ery "I"ncompetent  : )
 Drake   Per rispondere togli il_gatto_dal_forno

 ha scritto nel
messaggio news:bgqv7g$rnd4v$1...@ID-167489.news.uni-berlin.de...


> 
Ho fatto una prova con Northwind su SQLServer  :
    madoRecordset.CursorLocation = adUseServer
    madoRecordset.Open "SELECT TOP 1 O.*, C.COMPANYNAME " & _
			"FROM ORDERS " & _
			" AS O JOIN CUSTOMERS AS C " & _
		              "ON O.CUSTOMERID = C.CUSTOMERID ", _
                   		gadoConnessione, adOpenDynamic,  _
                                        adLockOptimistic, adCmdText
    madoRecordset.AddNew
Nessun problema sull'AddNew
Hai provato questo ...
  madoRecordset.Supports(adAddNew) ?
Per me è a True.

anche secondo me č un problema di sola lettura della query. Fai cosě:
Metti un breakpoint sulla riga RS.Open, fai il copia della stringa SQL che
hai ottenuto in quel contesto. Poi apri access, crea una nuova query e fai
l'incolla.
Esegui la query e prova ad aggiungere un record da Access.
Se da Access riesci, DEVI riuscire anche da vb. Se non riesci, allora č
perchč la query effettivamente č in sola-lettura.
good coding!!!
-- 
Damiani Liborio Igor
ig...@igordamiani.it
 - 
soft...@igordamiani.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262


Altra cosa, non so che db stai usando ma potrebbe anche essere un
problema di autorizzazioni sulla tabella!? Facci sapere ...
Ciao!

 Ciao!
Ho risolto (per il momento..) facendo due query, ma il problema persiste,
deve essere un problema sul db, appena ho tempo lo spulcio ben bene...
Grazie ancora
Ciao, Edoardo

 RS.CursorLocation = adUseServer
devi mettere 
RS.CursorLocation = adUseClient
fammi sapere

 fammi sapere
per il momento ho risolto facendo due query con due rs diversi,
probabilmente è un join un pò "troppo" complesso.  Ma l'AddNew non è
supportato sia lato server che lato client?
Ciao e grazie

secondo me il problema č un altro. Se apro un recordset con una JOIN su due
tabelle differenti, l'Addnew su quale delle due tabelle deve agire?
non potrebbe funzionare, ecco perchč un recordset di questo tipo diventa
automaticamente di sola lettura....magari mi sbaglio, ma IMHO č cosě...
