Voy a echarle un ojo haber si pillo de que va y a lo mejor puedo mejorarlo, quien sabe :P
EDIT: estoy estudiándolo y hay varias cosas que no entiendo y ya he visto una a modificar.
No entiendo:
- Cómo es que en OnShow compruebas si está el cursor en la celda 1,1 si no lo guardas en ninguna variable
Cosas que cambiaría:
- He visto que pones la ruta a la base de datos después de abrirla, yo la pondría antes
- También he visto que en la función de abrir la base de datos vuelves a poner la ruta y después pones que si es distinto a cancel lo abra, nunca va a ser cancel ya que le das la ruta jejeje: ¿Tenías pensado poner algún FileBrowse?
- Yo quitaría lo anterior y le pondría una variable a la función que se llamara dBase por ejemplo, entonces al llamar a la función le podemos pasar esa variable y hacerlo más dinámico a la hora de modificar la base a abrir.
Iré añadiendo según vea. Por cierto, no se como va a salir el asunto ya que yo uso sqlite3 y no se usar el 2.1