Respuesta: Conexion Visual Basic NET con ACCESS Bueno e aqui despues de algun tiempo les dejare la manera de conectar a access actualizada,paso a paso..espero sea lo mas detallado para ustedes,lo hare de la manera mas sencilla posible..,
'Empezamos por el primero:
Crearemos dos tablas
1er tabla
--------
cargo
cod_car texto
nom_car text
--------
2da tabla
personal
cod_per texto
nom_per texto
ape_per texto
cod_car texto
---------
OPCIONAL
PODEMOS CREAR UNA CONSULTA EN EL EDITOR SQL,YO PERSONALMENTE PREFIERO HACERLO POR CODIGO
AQUI LA CONSULTA
SELECT (p.ape_per+' '+p.nom_per) AS PERSONAL, c.nom_car AS CARGO
FROM personal AS p INNER JOIN cargo AS c ON p.cod_car=c.cod_car;
2do paso
'Agregamos una clase donde se almacenara la cadena de conexion
Imports System.Data.OleDb
Public Class Miclase_Cox
Public bd As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\PRODELAC.mdb"
End Class
-- AGREGAMOS UN FORMULARIO EN MI CASO FRMPERSONAL
Y los diguientes controles
- 4 TEXTBOX
- 1 PROGRESSBAR
- 1 BUTTON
--Codigó
'AGREGO LOS SIGUIENTES ESPACIOS DE NOMBRES
Imports System.Data.OleDb
Public Class FrmPersonal
Private mp As New Miclase_Cox 'Creo una nueva instancia de objeto
Dim Ssql As String
Dim i, r As Integer 'Variables enteras
'Agrego un metodo
Private Sub Grabar_personal()
'Uso del try para manejo de excepciones
Try
'Uso el using,ya que es el mas ideal para el tipo de variables de conexion,ya que terminando la instruccion rompe la conexion sin nesesidad de usar el cnx.close
Using cnx As New OleDbConnection(mp.bd)
cnx.Open()
Using cmd As New OleDbCommand("Insert into personal values(@cod_per,@nom_per,@ape_per,@cod_car)", cnx)
With cmd.Parameters
.Add(New OleDbParameter("@cod_per", OleDbType.VarChar)).Value = Me.TxtcOD_PER.Text
.Add(New OleDbParameter("@nom_per", OleDbType.VarChar)).Value = Me.TxtNombre.Text
.Add(New OleDbParameter("@ape_per", OleDbType.VarChar)).Value = Me.txtape.Text
.Add(New OleDbParameter("@cod_car", OleDbType.VarChar)).Value = Me.txtcod_cargo.Text
r = cmd.ExecuteNonQuery() 'ejecuto mi consulta
End With
End Using
End Using
MsgBox("Se insertaron: " & r & " personales en la BD", MsgBoxStyle.Information, "Mensaje del Sistema")
Call INICIALIZAR()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Mensaje del Sistema")
Call INICIALIZAR()
End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call TESTEO()
End Sub
'Testeo lo uso para ver la cantidad en que demora en grabar en esta consulta 'simple no demora ni 1 segundos
Private Sub TESTEO()
For i = 0 To 100
Me.ProgressBar1.Value = i
Application.DoEvents()
Next
Call Grabar_personal()
End Sub
'inicializo i ,el progressbar lo vuelvo 0
Private Sub INICIALIZAR()
i = 0
Me.ProgressBar1.Value = 0
End Sub
End Class
'Espero lo halla hecho lo mas simple posible ya que he usado casi el modelo como lo hago con SQL SERVER 2005,bueno al final son muy parecidos..........,ESTA HECHO CON UNA BASE DE DATOS DE ACCES 2003 CON VB.NET 2005,Pueden escribirme a mi correo,les estare enviando La prueba con la base de datos gratuitamente, sin nungun costo...........Tambien estaremos viendo para los interesados con SQL SERVER desde una creacion en TRANSACT SQL,CREAREMOS UNA BASE DE DATOS DESDE 0,LE DAREMOS MANTENIMIENTO,STORE PROCEDURE(PROCEDMIENTOS ALMACENADOS,TRIGERS,VISTAS,INNER JOIN,LEFT OUTER JOIN,ETC Y TAMBIEN LO CONECTAREMOS A VB.NET , REPORTES,ETC)
HASTA LUEGO
Gracias por sus visitas
Attentamente,
MARTIN COX ROJAS
VB.NET 2005 - 2008 - SQL SERVER 2005
Última edición por coxrojas; 10/02/2010 a las 08:57
Razón: Tablas
|