Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/02/2010, 08:45
coxrojas
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 0
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