• Jueves 14 de Noviembre de 2024, 22:54

Autor Tema:  Re: Me Pueden explicar este codigo POR FAVOR  (Leído 2255 veces)

mexican

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Me Pueden explicar este codigo POR FAVOR
« en: Miércoles 10 de Septiembre de 2003, 15:47 »
0
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
--------------------------------------------------------------------------

nabeltz

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Re: Me Pueden explicar este codigo POR FAVOR
« Respuesta #1 en: Jueves 11 de Septiembre de 2003, 10:20 »
0
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
--------------------------------------------------------------------------

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Me Pueden explicar este codigo POR FAVOR
« Respuesta #2 en: Jueves 11 de Septiembre de 2003, 10:26 »
0
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.

mexican

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Me Pueden explicar este codigo POR FAVOR
« Respuesta #3 en: Jueves 11 de Septiembre de 2003, 18:15 »
0
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

Gerard

  • Miembro MUY activo
  • ***
  • Mensajes: 188
    • Ver Perfil
Re: Me Pueden explicar este codigo POR FAVOR
« Respuesta #4 en: Viernes 12 de Septiembre de 2003, 16:04 »
0
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;)
Moderador Noticiario - Programador Visual Basic

mexican

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Me Pueden explicar este codigo POR FAVOR
« Respuesta #5 en: Viernes 12 de Septiembre de 2003, 23:42 »
0
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