E' sicuramente vuota perché è una textbox collegata e se inizia un inserimento quella viene cancellata in attesa di un valore valido da inserire. Ma subito prima lui fa una SELECT usando quella textbox ed ecco l'errore.
E' tutto sbagliato, frutto solo dell'inesperienza. Non basta incollare un po' di codice (di cui non si sa neanche fare il debugging elementare), bisogna anche progettare l'applicazione. Programmare, anche se molti non ne sono convinti, implica studio della teoria (e di tanta teoria di tanti tipi) che non si può ignorare.
A volte, può essere utile. Se il campo può assumere un valore Null, concatenarlo con una stringa vuota, consente una conversione implicita e restituisce una stringa vuota, evitando che venga sollevata un'eccezione. Diciamo che è un workaround un po' grezzo, per gestire un Null.
TheTruster
Quindi il cast non è implicito per la prima concatenazione? Se il codice fosse semplicemente:
IdContoTextBox.Text & ""capisco l'escamotage, ma lui ha in realtà
"la query" & IdContoTextBox.Text & ""Per come so che il .NET gestisce le stringhe, credevo fosse più dannoso che altro, per quanto questa situazione non richieda l'uso di uno StringBuilder.
Hai perfettamente ragione, leggendo superficialmente il codice mi era sembrato che il Null potesse derivare dal valore recuperato dal campo del Recordset e assegnato ad un controllo.
Esempio: TextBox.Text = srRecordset.Fields("Nome del Campo").Value & ""
In realtà, guardando meglio, mi sono reso conto, come hai evidenziato, dell'inutilità di quella concatenazione
TheTruster