Errore 3027

di il
17 risposte

17 Risposte - Pagina 2

  • Re: Errore 3027

    Abbiate pazienza ma non riesco a seguirvi.

    La query qryOrdiniFornitori che creo con i dati dal foglio excel dovrebbe avere una chiave primaria ?

    A parte il fatto che non c'è un campo univoco a meno che non ce lo aggiunga io a mano, come dovrei fare ? Non vedo da nessuna parte la possibilità di fare questa cosa…

    [EDIT]

    Ok, forse ho capito cosa intendete, vi faccio sapere.

  • Re: Errore 3027

    Ci sono diverse cose che fanno presumere qualche chiarimento necessario…

    Ad esempio:

     'La query è stata creata, la eseguo per popolarla e la chiudo subito.
        If blnQueryOk = True Then
            DoCmd.OpenQuery (strNomeQuery)
            DoCmd.Close acQuery, strNomeQuery
        End If

    Questo codice non serve veramente a nulla… perchè la Query NON si popola, una query SELECT non si lancia… 

    Una query SELECT si usa come Origine di dati con un Recordset o diretta in una Form, mai e ripeto MAI si apre una query Select come hai fatto, è inuitile e pericolosissimo in quanto l'interfaccia della Query non ha quegli strumenti di CONTROLLO dei dati tale da poter prevenire danni.

    Ti faccio un esempio, se apri una Query da QBE come hai fatto chiunque, a prescindere dai privilegi può mettere mano ai dati, sia Vederli che Editarli che cancellarli(ovviamente se la query lo consente), il problema è che non deve essere la query a gestire i privilegi ma il programmatore in modo consapevole, e questo lo si può fare SOLO sfruttando l'interfaccia utente data dalle Maschere.

    Purtroppo spesso chi usa Access è carente dei principi di base sullo sviluppo delle interfacce, in quanto tutto è permesso avendo accesso sia alla parte Client che Server, sviluppando con un RDBMS è come se tu consentissi agli utenti di aprire una Tabella in Oracle… ovviamente verrebbe da fare una riflessione attenta a questi principi.

    Ora, tornando a noi, se vuoi editare una Tabella funziona sempre, ma se una Tabella senza PK da una parte e Fk dall'altra la relazioni in  JOIN con altre tabelle in una query, la Query risultante sarà ReadOnly.

  • Re: Errore 3027

    Buongiorno, 

    alla fine non sono riuscito a fare quello che intendevo e ho aggirato il problema appoggiando il dato in una variabile, anche perchè mi sono reso conto che quello che volevo fare era una finezza fine a se stessa senza una particolare specifica utilità.

    Sono comunque riuscito a portare a termine l'incarico, per cui desidero ringraziarvi tutti per l'aiuto in questi mesi.

    Ciao
    Ste

Devi accedere o registrarti per scrivere nel forum
17 risposte