SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: mexican en Miércoles 10 de Septiembre de 2003, 15:47
-
ME PUEDEN EXPLICAR ESTE CODIGO LINE POR LINEA
Option Explicit
-------------------------------------------------------------------------------
Private Sub cboName_Click() ' Este el nombre del Combo
' Load the selected record.
datPeople.RecordSource = _ ' datPeople es el Control Data
"SELECT * FROM People WHERE Name='" & _ ' People nombre de la Tabla a consultar y "Name" creo que es uno de los campos de la Tabla
cboName.Text & "'"
datPeople.Refresh
End Sub
--------------------------------------------------------------------------------
Private Sub Form_Load()
Dim dbname As String
Dim db As Database ' A veces me marca error (objeto no difinido)
Dim rs As Recordset
' Open the database.
dbname = App.Path
If Right$(dbname, 1) <> "" Then dbname = dbname & ""
dbname = dbname & "data.mdb"
Set db = OpenDatabase(dbname)
Set rs = db.OpenRecordset( _
"SELECT Name FROM People ORDER BY Name", _
dbOpenSnapshot)
' Load the ComboBox.
rs.MoveFirst
Do While Not rs.EOF
cboName.AddItem rs!Name
rs.MoveNext
Loop
rs.Close
db.Close
' Connect the Data control to the database.
datPeople.DatabaseName = dbname
' Select the first choice.
cboName.ListIndex = 0
End Sub
--------------------------------------------------------------------------
-
A ver si esto te ayuda en algo:
Option Explicit
-------------------------------------------------------------------------------
Private Sub cboName_Click() ' Este el nombre del Combo
' Load the selected record.
datPeople.RecordSource = _ ' datPeople es el Control Data
"SELECT * FROM People WHERE Name='" & _ ' People nombre de la Tabla a consultar y "Name" creo que es uno de los campos de la Tabla
cboName.Text & "'"
datPeople.Refresh
End Sub
--------------------------------------------------------------------------------
Private Sub Form_Load()
Dim dbname As String
Dim db As Database ' A veces me marca error (objeto no difinido)
Dim rs As Recordset
' Open the database.
dbname = App.Path 'dbname toma el directorio actual, es decir, el directorio en el que se está ejecutando el programa
If Right$(dbname, 1) <> "" Then
'comprueba si el path que contiene dbname acaba con "" y si no es así se lo pondrá
dbname = dbname & ""
dbname = dbname & "data.mdb" 'ahora dbname contiene el path completo, incluyando el nombre de la base de datos, que es "data.mdb"
Set db = OpenDatabase(dbname) 'abre la base de datos
Set rs = db.OpenRecordset( _
"SELECT Name FROM People ORDER BY Name", _
dbOpenSnapshot) 'hace un select y la respuesta lo guarda en rs
' Load the ComboBox.
rs.MoveFirst 'obtiene el primer nombre de rs
Do While Not rs.EOF 'hasta que no lea todos los monbres
cboName.AddItem rs!Name 'insertará en el combo el nombre actual
rs.MoveNext 'va al siguiente nombre
Loop 'vuelve a Do While...
rs.Close 'cierra el recordset
db.Close 'cierra la base de datos
' Connect the Data control to the database.
datPeople.DatabaseName = dbname
' Select the first choice.
cboName.ListIndex = 0 'selecciona el primer objeto del combo
End Sub
--------------------------------------------------------------------------
-
Option Explicit 'Obligatorio declarar las variables
Private Sub cboName_Click() 'Evento Click del ComboBox cboName
datPeople.RecordSource = "SELECT * FROM People WHERE Name='" & cboName.Text & "'" 'El origen de datos para el control data datPeople son todos los registros de la tabla People en los que el valor del campo Name es igual que el texto del comboBox cboName
datPeople.Refresh 'Actualizar el control data dataPeople
End Sub 'fin del evento
--------------------------------------------------------------------------------
Private Sub Form_Load() 'Evento al cargar formulario
Dim dbname As String 'Declarar string
Dim db As Database 'Declara objeto de tipo Database Si te da error será que te falta agregar alguna referencia
Dim rs As Recordset 'Declara objeto de tipo recordset
dbname = App.Path 'Path en el que se ejecuta la aplicación
If Right$(dbname, 1) <> "" Then bname = dbname & "" 'Añadir slash si hace falta
dbname = dbname & "data.mdb" 'Nombre de la base de datos (data.mdb) que está en el directorio donde se está ejecutando la aplicación.
Set db = OpenDatabase(dbname) 'Abrir base de datos con DAO
Set rs = db.OpenRecordset( "SELECT Name FROM People ORDER BY Name",
dbOpenSnapshot) Obtener en un objeto recordset el campo Name de todos los registros de la tabla People y ordenados por ese mismo campo
rs.MoveFirst 'Posicionar en recordset en el primer registro
Do While Not rs.EOF 'Realizar el bucle hasta que se llegue al fin de fichero del recordset
cboName.AddItem rs!Name 'Añadir al combobox cboName el valor del campo Name del registro actual
rs.MoveNext 'Mover el recordset al siguiente registro.
Loop 'Bucle
rs.Close 'Cerrar recordset
db.Close 'Cerrar base de datos
datPeople.DatabaseName = dbname 'Asignar base de datos al control data datPeople
cboName.ListIndex = 0 'Seleccionar el primer elemento del comboBox cboName
End Sub 'Fin del evento
Hala, ya está explicado línea a linea. Ya ves que me tiré el rollito... ahora a ver si te sirve para algo... Si quieres para la próxima te escribo un manual de vb, o te hago el análisis de tu aplicación, o mejor aún te paso un programa de facturación al completo, o sencillamente paso de responderte.
-
Garcias por la explicación
Las dos son buenas pero le entiendo mejor a la de Brroz le entiendo mejor
Creo que el problema esta en el codigo:
Dim db as Database
Set db = OpenDatabase(dbname) 'Abrir base de datos con DAO
creo el control data que uso que es "datPeople" no lo tengo enlazado con DAO
Como se haria esto, ¿Seria en las Propiedades del data control?
Otra cosa y disculpa las molestias, creo no me vendria mal que me mandaras un progama de facturacion completo en codigo, Brroz
Gracias
ramirog@valle.net.mx
-
Mexican, perdona, pero si quieres un programa de facturación, te lo compras, o bien te lo haces con vb, como yo.
Tampoco te va a costar mucho $, con 60$ puedes conseguir uno de standard.
"Este foro se está llenando de gente que solo piden, que ayuden hay muy pocos":(
Espero que nadie más ponga un mensaje asi
Otra cosa y disculpa las molestias, creo no me vendria mal que me mandaras un progama de facturacion completo en codigo, Brroz
Salu2 a todos;)
-
Gracias, Muchas gracias
Ya resolvi el problema, y disculpen las molestias.
No se si entiendan el TERMINO NOVATO, por eso pido ayuda y no aporto,
si supiera lo que ustedes saben ya estuviera ayudando
Ya entendi correctamente el codigo era problema de la Ubicacion de la Base de Datos
Adios, hasta la próxima