Errore di validazione in insert da query

Anonimo
2012-03-01T21:17:55+00:00

Salve, 

c'è la possibilità di sapere quale è il record che può causare un errore di validazione che impedisce l'INSERT in una tabella?

Se faccio la SELECT sembra tutto corretto, se aggiungo la parte INSERT non funziona nulla e ed ho il seguente errore:

PippoDb ha attribuito il valore Null a 0 campi in seguito a un errore di conversione di tipo, 0 records non sono stati aggiunti alla tabella a causa di violazione di chiave, 0 records a causa di violazione d iblocco e 1 record a causa di regole di validazione.

I campi sono testo sia in input che output

Non ci sono indici

Sono ammessi valori null, ma ho usato NZ(Colonna, "") per ogni campo. Ho anche aggiunto delle LEFT dato che le colonne sono di larghezza differente.

L'unica particolarità è che leggo Sql Server collegato e scrivo Access.

L'errore è sicuramente nella validazione dato che aumenta con una altra query uguale ma con filtri diversi, però non riesco a capire se non vedo i dati in errore

Grazie.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-03-02T18:41:34+00:00

Ciao Francesco,

il perchè è questo: Quando modifichi o inserisci un nuovo record tramite l'interfaccia dell'applicazione Access, i campi vuoti vengono valorizzati sempre a NULL, quindi anche se la proprietà "Consenti lunghezza a 0" è impostata a No, il record viene accettato perchè il valore NULL è diverso dal valore testuale vuoto, anche se visivamente sembrano la stessa cosa.

Con la tua query invece convertivi i valori NULL in stringhe vuote NZ(Colonna, "")  causando così l'errore di validazione.

Spero di essere stato chiaro

:-)

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-03-02T14:28:14+00:00

Ho trovato la soluzione.

Durante i miei primi test avevo visto che la vecchia tabella non accettava stringhe vuote nei campi text . Avevo digitato dei valori manualmente lasciando dei campi vuoti e potevo tranquillamente farlo.

Adesso ho modificato la struttura della tabella accettando le stringhe vuote ed i null ed ho fatto l'insert.

Quindi mi ero lasciato ingannare dal fatto di vedere dei campi vuoti e di aver potuto digitare dei record con campi vuoti. Comunque non riesco ancora a capire il perché.

Grazie per l'aiuto

La risposta è stata utile?

0 commenti Nessun commento

9 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-03-04T10:39:04+00:00

    Ciao Francesco,

    molto probabilmente, nei dati della tabella sorgente esistono righe con valori testuali vuoti.

    Caio

    Giorgio Rancati

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2012-03-02T07:56:32+00:00

    Ciao Francesco,

    Il messaggio di errore indica che stai tentando di inserire un valore che viola la proprietà "Valido se" di qualche campo.

    Per vedere i valori vietati, apri in visualizzazione struttura  la tua tabella in Access e guarda la proprietà "Valido se" dei campi.

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-03-02T07:36:11+00:00

    Ciao,

    inutile dirti di provare ad inserire manualmente gli stessi dati in tabella.

    La risposta è stata utile?

    0 commenti Nessun commento