Visual Basic con Access 2000 o XP

Lo que deseo es poder importar datos hacia una base de datos de Access 2000 o XP desde Visual Basic. El problema es que tengo listas de precios que siempre se actualizan en internet y deseo agregarlo a la base de datos mediante Visual Basic.

1 Respuesta

Respuesta
1
'Nota debes añadirle la referencia a la librería de objetos de ADO.
' Es la Microsoft Active Data Objects 2.5
Private Conexion As ADODB.Connection
Dim innerRS As ADODB.Recordset
Private Sub Class_Initialize()
On Error GoTo FalloConexion
Set Conexion = New ADODB.Connection
Conexion.ConnectionString = strMontarCad()
Conexion.Open
Exit Sub
FalloConexion:
MsgBox Err.Description
End Sub
Private Function strMontarCad() As String
Dim mCadenaConex As String
mCadenaConex = "Provider =Microsoft.Jet.OLEDB.4.0;Data Source=" & CONST_PATH_BBDD & ";User Id=Admin;Password=;"
strMontarCad = mCadenaConex
End Function
Public Function ExecuteQuery(ByVal SQL As String) As ADODB.Recordset
Set innerRS = New ADODB.Recordset
innerRS.CacheSize = 30
InnerRS. Open SQL, Conexion. ConnectionString, adOpenForwardOnly, adLockBatchOptimistic, adAsyncFetch
Set ExecuteQuery = innerRS
End Function
Public Sub ExecuteSQL(SQL As String)
Conexion. BeginTrans
Conexion.Execute SQL
Conexion.CommitTrans
DoEvents
End Sub
Private Sub Class_Terminate()
If (Conexion.State <> adStateClosed) Then
Conexion.Close
End If
End Sub
Hola, parece que no lo he planteado correctamente, debe ser porque es la primera vez que hago algo así. Espero puedas ayudarme; el problema es el siguiente:
1°Tengo una base de datos en Access 2000
2°Esa BD almacena precios de productos.
3°Cada semana llegan por correo una lista de precios con nuevos productos o los mismos productos con nuevos precios.
4°Tengo más de 150 productos y si por lo menos a 100 de esos productos se les ha actualizado el precio no desearía modificar uno tras otro pues sería muy tedioso.
5°El Sistema que hice hace esto (modifica datos por datos después de buscar el producto) pues no sabía como podría importar los datos.
6°La lista que me envían en el correo esta en html y lo que deseo es:
Si se puede
1---> Coger los datos y acomodarlos (como por ejemplo en excel los acomodo y luego podría importarlo a la base de datos mediante el asistente del access) de tal forma que tengan un formato que mi sistema pueda reconocer (algo como "seleccione el archivo con los nuevos datos") para luego importarlo a la base de datos de productos y automáticamente si encuentra que es un producto nuevo que se registre automáticamente como nuevo producto, y si no al encontrar el mismo producto que sólo modifique el precio (si no fuera mucho pedir -por favor- que durante el proceso aparezca un progressbar ...) y al final que me muestre como sea (un reporte, en un cuadro de texto multiline, un rich Text Box - creo que ahí-)un tipo de reporte o mensaje con los resultado, como por ejemplo:
-> Se han modificado n precios
-> Se han registrado n productos nuevos
-> (Si hay error) No se pudo importar n datos
Mencione que mejor un rich textbox para que cada muestre todos los productos y marque las lineas de diferentes colores para yo poder hacer algo como una pequeña leyenda como : azul=modificados
rojo=nuevo; negro=perdidos.
Creo que en esta pregunta me excedí, es demasiada larga creo. Si puedes ayudarme te lo agradecería muchísimo porque no tengo a quien consultar; si te animas a ayudarme seré paciente esperando la respuesta.
Muchas gracias.
PD: Estoy haciendo una página web, te podría poner como link o algo así si me ayudas a resolver el problema claro si tienes una página web para enlazarla. Gracias nuevamente.
Lo que te mandé es una clase, en el administrador de proyectos de Visual basic, crea una clase (Class Module, cópiala y pégala)
Donde pone CONST_PATH_BBDD pon el directorio en el que está tu BBDD.
¿Sabes SQL? Si sabes SQL, te recomiendo que añadas una clave única a cada registro de cada producto. Si tienes cada registro de cada producto, seleccionas los datos de un producto con esta sentencia :
Select [Campos de la Tabla] from [TU TABLA DE PRODUCTOS]
Where CampoClave=ClaveDelProducto.
Si encuentras el producto, es una actualización. (Puedes tener un campo en la Tabla de productos que te marque si ha sido actualizado) Si el producto no lo encuentra, es un Alta. Los que no modifiques ponlos con el campo de modificado a Nulo.
Hagamos una cosa. Si tienes messenger, mi dirección es [email protected]
Añádeme y te resuelvo lo que pueda en tiempo real. Pero, si que es larga la pregunta. Y no se que sabes y que no.
Me veo un poco perdido para resolvértela solo escribiendo.
Si tengo tiempo y me indicas como hiciste la BBDD yo te puedo mandar código a medida o algo así.
Respóndeme con lo que quieras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas