Hola.
Mire un poco tu programa y te comento algunas cosas que vi que tal vez te sirvan.
Si ejecutas algo como esto $myconetion.Exec("Select * from mytable") y se lo asignas aun result, puede suceder el caso que el result sea nulo (tu pregunta en el post) suele ser algo común cuando la table no tiene registros.
Para solucionar esta situación puedes tomar varios caminos, un es que la base ya tengo al menos un registro (no es lo que recomiendo) otro método consiste en usar varios IF para ver si existe la conexión y si el result es distinto de null (esto ultimo ya lo haces).
Para trabajar con una base de datos hay que establecer la conexion antes de nada, si te fijas en tu código intentas obtener un result de una conexión nula, eso no puede ser.
Código:
If $Conn Then
$result = $Conn.Exec("select * from clientes") 'para tenertodos los registros en el hresul
If $result.Available Then
FMain.vlbid.value = $result["id"]
'...
Return 'True 'ok, ha sido posible mostrar datos
Endif
Endif
Luego el método mr() yo lo haría así:
Código:
FMain.vlbid.value = $result["id"]
FMain.txtnom.text = $result["nom"]
FMain.txtced.text = $result["ced"]
FMain.txtcorr.text = $result["Corr"]
FMain.txtcel.text = $result["cel"]
FMain.txtdir1.text = $result["dir1"]
FMain.txtdir2.text = $result["dir2"]
FMain.chk1.value = $result["contr"]
FMain.chk2.value = $result["vip"]
Luego al guardar no sucede nada, el método esta comentado