Forse non mi sono spiegato bene, la finestra che dice " Il record non esiste" ti viene fuori per via del primo blocco Try Catch che hai inserito nel programma:
Quindi a rigor di logica, l'errore sta in questa riga:
e quando va in errore questa riga, esegue la funzione che mostra la finestra con scritto: "Il record non esiste"
Però così non si riesce a capire l'errore vero e proprio, quindi o vai in debug manualmente sul Catch ex as Exception oppure stampi l'errore (ex.messagge) a video per capire l'errore che viene generato.
Altrimenti con un semplice "Il record non esiste" non si riesce a capire qual'è l'errore.
Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui