¿Cómo encuentra VB varios datos en un campo correspondiente de la tabla de Excel y los inserta en el campo correspondiente de la base de datos?
VB requiere mucho código.
Buena suerte
Si debes usar vb, el siguiente código es solo como referencia.
VB es una de las herramientas de desarrollo de software de aplicaciones más utilizadas. Debido a la función de informe limitada de VB y al cambio de formato del informe, el programa tuvo que modificarse en consecuencia, lo que generó grandes inconvenientes para el mantenimiento del software de la aplicación. Por lo tanto, muchos programadores ahora aprovechan al máximo la poderosa función de informes de EXECL para implementar funciones de informes. Sin embargo, dado que VB y EXCEL pertenecen a diferentes sistemas de aplicación, cómo combinarlos orgánicamente es un tema digno de nuestro estudio.
Primero, VB lee y escribe tablas EXCEL:
El propio VB proporciona la función automatizada de leer y escribir tablas EXCEL. El método es el siguiente:
1. Haga referencia a la biblioteca de tipos de Microsoft Excel del proyecto:
Seleccione la columna Referencia en el menú Proyecto; seleccione Biblioteca de objetos de Microsoft Excel 9.0 (excel 2000) y luego seleccione Aceptar. Indica que se hará referencia a la biblioteca de tipos EXCEL en el proyecto.
2. Definir el objeto EXCEL en el proceso de declaración del objeto general:
Cambie xlApp a Excel. Aplicación
Transferir xlBook a Excel. Cuaderno de ejercicios
Convierte xlSheet a formato Excel. Hoja de trabajo
3. Comandos comunes para operar tablas EXCEL en programas:
Set xlapp = createobject ("EXCEL. Aplicación")'Crear un objeto Excel.
Establezca xlBook = xlApp. Workbooks.Open("nombre de archivo")'Abre un archivo de libro EXCEL existente.
XlApp. Visible = True 'Establece el objeto EXCEL para que sea visible (o invisible).
Establecer xlSheet = xlBook. Hojas de trabajo ("nombre de la tabla")'Establece la hoja de trabajo activa.
Hoja XL. Celdas(fila,col) = valor 'Asigna un valor a la celda(fila,col).
Hoja XL. "Imprimir" imprime la hoja de trabajo.
XlBook. Cerrar (Verdadero)'Cerrar el libro.
XlApp. "Salir" finaliza el objeto EXCEL.
' Set xlApp = Nothing 'Libera el objeto xlApp.
Xlbook. runautomacro(xlautoopen)'Ejecute la macro de inicio de EXCEL.
Libro XL . runautomacros(xlautoclose)'Ejecute EXCEL para cerrar la macro.
4. Cuando se utilizan los comandos VB anteriores para operar la tabla EXCEL, a menos que el objeto EXCEL esté configurado como invisible, el programa VB puede continuar realizando otras operaciones, cerrar EXCEL y operar EXCEL al mismo tiempo. . Sin embargo, el programa VB no puede saber cuándo se cierra el objeto EXCEL durante la operación EXCEL. Si se utiliza el objeto EXCEL en este momento, el programa VB generará errores de automatización. El programa VB no puede controlar completamente la situación de EXCEL, lo que provoca que VB se desconecte de EXCEL.
2. Funciones macro de EXCEL:
EXCEL proporciona un editor de Visual Basic. Abra el Editor de Visual Basic, que tiene una ventana Propiedades del proyecto. Haga clic en "Insertar módulo" en el menú contextual y agregue un "Módulo 1". Las funciones y procedimientos del módulo se pueden escribir en lenguaje Visual Basic y llamar a macros. Entre ellas, EXCEL tiene dos macros automáticas: una es la macro de apertura (Sub Auto_Open()) y la otra es la macro de cierre (Sub Auto_Close()).
Sus características son: cuando usa EXCEL para escribir un libro que contiene macros de inicio, la macro de inicio se ejecutará automáticamente. Del mismo modo, cuando se cierra un libro que contiene una macro de apagado, ejecutará automáticamente la macro de apagado. Sin embargo, cuando se llama a la hoja de trabajo EXCEL a través de la función de automatización de VB, la macro de inicio y la macro de apagado no se ejecutarán automáticamente. En cambio, la macro de inicio y la macro de apagado deben ejecutarse mediante el comando xlbook. Runautomacros (xlautoopen) y xlbook. Ejecutarautomacros (xlautoclose) en VB.
3. Comunicación entre VB y EXCEL:
Aproveche al máximo la macro de inicio y la macro de apagado de EXCEL para realizar la comunicación entre VB y EXCEL. Estos métodos son los siguientes:
Agregue un programa a la macro de inicio de EXCEL, que escribe un archivo de logotipo en el disco, y agregue un programa a la macro de apagado para eliminar el archivo de logotipo. Cuando se ejecuta el programa VB, determina si EXCEL está abierto determinando si este archivo de bandera existe. Si este archivo de bandera existe, significa que el objeto EXCEL se está ejecutando y se debe prohibir la ejecución de otros programas. Si este archivo de bandera no existe, significa que el usuario ha cerrado el objeto EXCEL. En este momento, si desea utilizar el objeto EXCEL para ejecutar, debe volver a crear el objeto EXCEL.
Cuarto, por ejemplo:
1. En VB, cree un formulario, coloque dos botones de comando en él, cambie la propiedad Caption de Command1 a EXCEL y cambie la propiedad Caption de Command2 La propiedad Título se cambia a Fin. Luego ingresa en él el siguiente programa:
Dimxlappasasexcel. "Aplicación" define la clase EXCEL.
Convierte xlBook a Excel. "libro de trabajo" define la clase del libro de trabajo.
Convierte xlsheet a formato Excel. "Hoja de trabajo" define la clase de hoja de trabajo.
Subcomando privado 1_Click()'abre el programa EXCEL.
Ifdir ("d:\temp\excel.bz") = " "Luego determine si Excel está abierto.
Set xlapp = createobject ("EXCEL. application")'Crear una clase de aplicación Excel.
XlApp. "Visible = Verdadero" establece EXCEL visible.
establecer libro XL = libros de trabajo XL. Abrir(" d:\ temp \ bb . xls ")'Abra el libro de trabajo EXCEL.
establecer hoja XL = libro XL hojas de trabajo(1)'Abre la hoja de trabajo EXCEL.
Hoja XL. "Activar" activa la hoja de trabajo.
Hoja XL. celdas (1, 1) = "ABC " 'Asigna valores a las filas y columnas de la celda 1.
XL book. runautomacros(xlautoopen) ejecuta la macro de inicio en EXCEL.
Otro
MsgBox ("EXCEL está abierto")
Terminará si...
Finalizar conector
Subcomando privado 2_Click()
if Dir(" D:\ temp \ excel . BZ ")<& gt" "Luego cierre EXCEL con VB.
Xlbook. runautomacros (xlautoclose)'Ejecutar macro de cierre EXCEL.
XlBook. "Cerrar (Verdadero)" cierra el libro de EXCEL.
XlApp. Salga y cierre EXCEL.
Terminará si...
' Set xlApp = Nothing 'Libera el objeto EXCEL.
Fin
Conector final
2. Cree un subdirectorio llamado Temp en el directorio raíz de la unidad D y cree un subdirectorio llamado " bb.xls" EXCEL. archivo.
3. Abra el editor de Visual Basic en "bb.xls", haga clic con el botón del mouse en la ventana del proyecto para seleccionar el módulo insertado e ingrese el siguiente programa en el módulo para guardar:
Sub auto_open()
Abra 'd:\temp\excel.bz' como #1 'Escribir salida del archivo de bandera.
Cerrar #1
Conector final
Sub auto_close()
Eliminar "d:\temp\excel.bz " 'Eliminar archivo de logotipo.
Conector final
4. Ejecute el programa VB y haga clic en el botón EXCEL para abrir el sistema EXCEL. Después de abrir el sistema EXCEL, el programa VB y EXCEL pertenecen a dos sistemas de aplicación diferentes y ambos pueden operarse al mismo tiempo. Debido a que el sistema ha agregado juicio, al hacer clic repetidamente en el botón EXCEL en el programa VB se le indicará que EXCEL ya está abierto. Si cierra EXCEL en EXCEL y luego hace clic en el botón EXCEL, EXCEL se volverá a abrir. Independientemente de si EXCEL está abierto o no, EXCEL se puede cerrar mediante el programa VB. De esta manera, se logra una conexión perfecta entre VB y EXCEL.
El método de referencia es: haga clic en el menú del proyecto VB, seleccione Referencia, seleccione la biblioteca compatible con Microsoft Dao 3.6 y confirme.
-
Proceso de carga de ventana privada subform_Load()
Atenuar myDb como base de datos
MyTb como conjunto de registros Dim
set mydb = Abrir base de datos(" c:\ data . MDB ")'Abre el archivo de base de datos.
set mytb = mydb . Abrir recordset(" xpress ")'Abre el archivo de la tabla.
Si mi Tb. Recuento de registros <'4 Luego' el archivo de tabla registra menos de 4 programas de salida.
Establecer myTb=None
Establecer myDb=None
Conector de salida
Terminará si...
Mi Tb. "MoveFirst" mueve el puntero del registro al primero.
MiTb. Mueva el puntero de grabación de 2’ hacia abajo 2 compases, es decir, muévase al tercer compás.
Texto1. Texto = miTb! El texto 1 "DefaultValue" se especifica como el tercer registro en el campo de valor predeterminado de la tabla xpress.
MiTb. El puntero de registro "MoveNext" baja una posición.
Texto 2. Texto = miTb! El texto 2 "DefaultValue" se especifica como el cuarto registro en el campo de valor predeterminado de la tabla xpress.
Establecer myTb = Ninguno
Establecer myDb = Ninguno
Conector final
Subcomando privado 1_Click()
Atenuar myDb como base de datos
Atenuar myTb como conjunto de registros
establecer myDb = abrir base de datos(" c:\ data . MDB ")
Establecer myTb =myDb . OpenRecordset("xpress")
MiTb. "MoveFirst" mueve el puntero del registro al primero.
MiTb. "Mover 2" mueve el puntero de registro hasta el tercer registro.
MiTb. La base de datos "editar" está en estado de edición.
miTb! Predeterminado = Texto1. El tercer elemento en el campo DefaultValue de la tabla xpress de la base de datos es texto con el valor text1.
MiTb. "Actualizar" guarda un registro de cambios.
MiTb. "MoveNext" mueve el puntero de registro hacia abajo de 1 a 4.
miTb. Editar
myTb! Predeterminado=texto2. Envía un mensaje de texto
myTb. Actualización
Establecer myTb = Ninguno
Establecer myDb = Ninguno
Conector final
Además, Grupo IDC tiene muchos productos en línea con precios Es barato y tiene buena reputación.