Una ayuda en visual basic 6.0 usando ADO

Micky_2007

Lanero Regular
14 Jun 2007
56
Saben el gran problema que tengo es que al momento de usar una base de datos de access a visual...
digamos tengo una tabla cliente...
creo en el modulo una secuencia ...en el cual uso DISTINCT... El cual me sirve para no repetir lo mismo... por ejemplo en el PAIS... y digamos que necesito usar una codificacion en el cual quiero ver tanto que se repita lo mismo o como solo uno de cada uno... pero que la codificacion no cambie en nada....
 
cuadno creas las instruccion sql pudens poner una condicion dependiendo de eso generas las instruccionsql con disctinc o sin disctin creo que eso eso si pudieras se r un poco mas grafico te podria colaborar
 
pudieras dar más datos a ver si podemos ayudarte de cual es el objetivo final que quieres conseguir....yo también trabajo visual con access usando ADO y DAO
 
Bueno aki esta amigos pero quiero saber como hago que esa parte del distinct se borre para usar en otro combo...

Public Sub LLENARCOMBO(C As ComboBox, CAMPO As String, TABLA As String)
Dim RS1 As New ADODB.Recordset
Dim SQL As String
SQL = "SELECT DISTINCT " + CAMPO + " FROM " + TABLA
RS1.Open SQL, cn, adOpenStatic
C.Clear
Do While Not RS1.EOF
C.AddItem RS1(0)
RS1.MoveNext
Loop
End Sub
 
a ver si entendí...
Creaste un procedure para llenar datos en un combo. Estás cargando un recordset con los datos de una consulta, y el combo lo llenas a partir de este recordset. Yo también trabajo así.
Puedes crear otro procedure igual a este con un distinct diferente.
O puedes preguntar que combo está activo. en el evento click o en el change del combo carga una variable y asignale un valor.
Ejemplo:

en Declaraciones generales declara una variable pública:
Public Combo as String 'Variable para referenciar el combo activo

Sub ComboBox1_Click ()
Combo = "1" 'entre comillas pones el nombre que le quieres asignar al primer combo

Sub ComboBox2_Click ()
Combo = "2" 'entre comillas pones el nombre que le quieres asignar al segundo combo
end sub

Te recomiendo que pongas puntos de ruptura para saber en qué evento es que se activa el combo y se carga la variable.

Ahora en tu procedure puedes hacer esto:
Public Sub LLENARCOMBO(C As ComboBox, CAMPO As String, TABLA As String)
Dim RS1 As New ADODB.Recordset
Dim SQL As String

'Preguntas qué combo está activo para saber que SQL debes cargar
if Combo = "1" then
SQL = "SELECT DISTINCT " + CAMPO + " FROM " + TABLA
RS1.Open SQL, cn, adOpenStatic
C.Clear
Do While Not RS1.EOF
C.AddItem RS1(0)
RS1.MoveNext
Loop
else
'Aquí declararías el segundo distinct para el otro combo
SQL = "SELECT DISTINCT " + CAMPO + " FROM " + TABLA
RS1.Open SQL, cn, adOpenStatic
C.Clear
Do While Not RS1.EOF
C.AddItem RS1(0)
RS1.MoveNext
Loop
end if
End Sub
:cool:

Micky_2007 dijo:
Bueno aki esta amigos pero quiero saber como hago que esa parte del distinct se borre para usar en otro combo...

Public Sub LLENARCOMBO(C As ComboBox, CAMPO As String, TABLA As String)
Dim RS1 As New ADODB.Recordset
Dim SQL As String
SQL = "SELECT DISTINCT " + CAMPO + " FROM " + TABLA
RS1.Open SQL, cn, adOpenStatic
C.Clear
Do While Not RS1.EOF
C.AddItem RS1(0)
RS1.MoveNext
Loop
End Sub
 

Los últimos temas