Академический Документы
Профессиональный Документы
Культура Документы
El cdigo para descargar la demo que incluye un formulario simple que muestra
tanto la sentencia real SQL y el cdigo VBA para ejecutarlo. La aplicacin est
diseada para dejarlo en modo de depuracin para que pueda seguir la
ejecucin en el cdigo del mdulo en s. Las consultas guardadas se utilizan
cuando sea necesario, pero usar SQL incorporado en todas partes es posible
Mtodo RunSQL
RunSQL es un mtodo del objeto DoCmd de Microsoft Access. Est diseado para DML de
SQL, como UPDATE, INSERT y DELETE. No se puede "ejecutar" una consulta de SELECT
con el mtodo RunSQL el mtodo fallar si se intenta pasar una instruccin de seleccin a la
misma.
Como se mencion anteriormente, RunSQL requiere la actual sentencia SQL, no el nombre de
una consulta guardada. La cadena SQL puede ser pasado como un literal o una variable a
travs de la siguiente manera:
En este caso, trat de ejecutar una instruccin SELECT INTO, que produce un
error porque la tabla ya existe. Sin embargo, el usuario no necesita ver este
mensaje el controlador de errores est dispuesto a abordar las cuestiones
previstas, tales como esta.
Mtodo Database Execute
Mi mtodo preferido de ejecucin de SQL, se ha guardado las consultas SQL o
en bruto, es el mtodo Execute del objeto Database. Puede ejecutar una
sentencia con una sola lnea, as:
CurrentDb.Execute "UPDATE titles SET price = price * 1.10"
De acuerdo con este mensaje, todo access sabe que hubo un error de
validacin. Sin embargo, si modifica el cdigo dbs.Execute anterior, aadiendo
el mensaje dbFailOnError despus de la instruccin SQL, aparece este
mensaje:
Ahora, que sea til! En este caso, yo saba que era el campo de precio que
estaba causando el problema porque lo dise de esa manera, pero qu pasa
cuando se va a insertar miles de registros en una tabla con decenas de
columnas y un campo de un registro contiene los datos errneos tipo o los
datos que faltan? Cmo encontrar nunca se bas en el mensaje genrico que
dice, "violacin de validacin de la regla?" Que prcticamente no se puede.
Por lo tanto, incluso si usted desea utilizar consultas guardadas, mantener este
pequeo truco es muy til. Cuando usted recibe un mensaje de error crptico
sobre la ejecucin de una consulta, pulse Ctl-G para abrir la ventana Inmediato
y el tipo esta en ...
Mejores Prcticas
Me encanta dar mejores consejo prctica, pero que simplemente no se aplica
aqu. Hay, como hemos visto, los diferentes mtodos para ejecutar DML de
SQL de Microsoft Access. Hay pros y contras, pero en ltima instancia depende
de lo que usted necesita para llevarlo a cabo, la cantidad de errores de
informacin que usted necesita y desea recoger y si usted prefiere mantener
sus objetos de consulta a un mnimo. Dar a todos una oportunidad y es
probable que se asientan en uno que te guste, pero mantener esa opcin
dbFailOnError en el bolsillo trasero para las emergencias.
http://www.databasejournal.com/features/msaccess/article.php/3505836/ExecutingSQL-Statements-in-VBA-Code.htm