Visual Basic - para GABRIEL DR

Life is soft - evento anual de software empresarial
 
Vista:

para GABRIEL DR

Publicado por vero (19 intervenciones) el 18/11/2005 23:28:59
hola gabriel. Mira este es el codigo de mi caja de texto donde quiero que me ingrese mi ultimo autonumerico: peero no me corre??

Private Sub id_producto_Click()
Dim DB As Database 'La base de datos
Dim rst As Recordset 'Para la tabla de la base de datos '
'Se abre la base de datos
Set DB = OpenDatabase("C:\archivosdeprogramas\MicrosoftVisualStudio\VB98\QUIMITEKSA\quimiteksa.mdb")
'se abre la tabla catalogo
Set rst = DB.OpenRecordset("Select * from catalogo")
'Indica si al menos hay algun registro
If rst.RecordCount > 0 Then
Adodc1.Recordset.MoveLast
id_producto = rst.RecordCount + 1
Else
Call MsgBox("LA tabla esta Vacia")
id_producto = 1
End If
End Sub

NOTA::: si ya tengo dada de alta mi base de datos y mi tabla en el Form load ¿¿¿tambien tengo que declararla aqui???? ha y otra pregunta me dice que la ruta de mi base de datos no es correcta ????pero si lo es¡¡¡¡
popr fis ayudame¡¡¡¡¡¡¡¡¡ de antemano muchas gracias¡¡¡¡
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PARA GABRIEL DR

Publicado por VERO (19 intervenciones) el 18/11/2005 23:40:13
HA MIRA GABRIEL EN MI FORD LOAD TENGO ASI MI PROGRAMACION:

Private Sub Form_Load()
' Indicar el path correcto de la base de datos
' ¡ACUERDATE DE PONER EL PATH CORRECTO!
Const sPathBase As string= "C:\archivosdeprogramas\MicrosoftVisualStudio\VB98\QUIMITEKSA\quimiteksa.mdb"
'
' Crear la conexión manualmente
' Con "Provider=Microsoft.Jet.OLEDB.4.0;" se permite abrir bases de datos de Access 2000
With Me.Adodc1
.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & sPathBase & ";"
' Indicarle de que tabla vamos a leer los datos
.RecordSource = "catalogo"
End With

NOTA: ha y tambien utilizo el adodc pero no se por que no corre mi programacion(la que te mande primero) por favor ayudame creo que esto me va ha volver loca ¡¡¡¡¡¡¡ pero muchisimas gracias por tu ayuda¡¡¡¡¡ GRACIAS¡¡¡¡
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Aqui esta el DETALLE

Publicado por GabrielDr (27 intervenciones) el 19/11/2005 18:41:27
el problema del Recordcount es que no usamos el tipo de Recordset STATIC, aqui esta el ejemplo en ADO, que es como veo que lo manejas, yo te mande el ejemplo en DAO.

EL problema con tu PATH es que le quitaste el espacio a tu ruta, usala tal y como aparece en el Explorador de Windows. (copia y Pega de preferencia)

'ESTE ES EL PROBLEMA DE TU BASE
'No uses los nombres largos de windows, mejor usa los nombres cortos (tipo DOS)
'Ni tampoco elimines espacios.
'Const sPathBase As String = "C:\archiv~1\Microso~1\VB98\QUIMITEKSA\"
Const sPathBase As String = "C:\Archivos de programa\Microsoft Visual Studio\VB98\QUIMITEKSA\"
Private oConn As ADODB.Connection 'La coneccion ADO
Private DBfile As String 'El nombre de la Base
Private RST As ADODB.Recordset 'El Recorset

Private Sub Form_Load()
Con = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
DBfile = sPathBase & "\" & "quimiteksa.mdb"

Set oConn = New ADODB.Connection
Set RST = New ADODB.Recordset
oConn.Open (Con & DBfile & ";") 'Abre la conexion
RST.CursorType = adOpenStatic '******Este es el causante de que no funcione el Recordcount, solo sirve para el tipo estatico*****
Set RST = oConn.Execute("select * from catalogo") 'Hacemos la consulta al SQL
End Sub

Private Sub id_producto_Click()
If RST.RecordCount > 0 Then
Adodc1.Recordset.MoveLast
id_producto.Text = RST.RecordCount + 1
Else
Call MsgBox("LA tabla esta Vacia")
id_producto.Text = 1
End If
End Sub

Private Sub btnRegistrar_Click()
'Espero que esto ya lo tengas para registrar los datos en la base.
oConn.Execute "Insert into catalogo(ID,Producto) values(" & id_producto & ",'" & Producto.Text & "')"
End Sub

Ya esta probado, funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Aqui esta el DETALLE

Publicado por VERO (19 intervenciones) el 19/11/2005 22:13:32
MUCHISISISMAS GRACIAS¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ voy a probar si todo funciona bien y espero que si pero gracias pór tu ayuda unque disculpa mi ignorancia pero aun tengo una duda para que sirve lo siguiente:

Private Sub btnRegistrar_Click()
'Espero que esto ya lo tengas para registrar los datos en la base.
oConn.Execute "Insert into catalogo(ID,Producto) values(" & id_producto & ",'" & Producto.Text & "')"
End Sub

Disculpame en serio me podria explicar para que es ese codigo????? de ante,ano GRACIAS¡¡¡¡¡ y espero seguir en contacto......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Para almacenar en la tabla

Publicado por GabrielDR (27 intervenciones) el 21/11/2005 16:01:14
el Execute sirve para correr "comandos" (instrucciones) SQL al ADO o DAO y me evita estar aprendiendome cada "protocolo" que usan las tecnologias para agregar campos o editar registros. solo aprendo SQL y ejecuto la instrucción, ahi te mando un correo a tu cuenta de hotmail, para sincronizarnos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar