Combo y subformulario

Tengo un combo y un subformulario
En el combo tengo nombresdepersonas de la tabla1
En el subformulario tengo nombresdepersonas, ciudad de la tabla1
Cuando quiera seleccionar por ejemplo jose, quiero que me aparezcan en el subformulario todos los jose que hay
y que los demás que no concuerdan con ese nombre no aparezcan
Se que engo que usar sql pero no se como decirle al combo que lo busque en el subformulario

1 Respuesta

Respuesta
1
Haber, lo que pasa es que debes cambiar el nombre de MiSubForm, por el nombre DEL SUBFORMULARIO TUYO... por eso le botara el error...
Ahora para el problema del combo, y para que no se repita, puedes hacer cualquiera de estas dos cosas:
1.Ve a la propiedad Origen de la fila, en ala ficha datos del combo... hay te aparece una instrucción sql... debe decir algo así:
select nombresdepersonas from tabla1
DESPUÉS DE LA PALABRA SELECT Y ANTES QUE SE MENCIONE EL PRIMER CAMPO DESBE COLOCAR LA PALABRA distinc osea quedaría:
select distinct nombresdepersonas,ciudad from tabla1
Esta instrucción hace que SOLO SE MENCIONE UNA VEZ DATOS REPETIDOS...
La otra manera es agrupando... en esta propiedad hay un botón con puntos suspensivos, al dar click entra al diseño de la consulta... en la barra de herramientas hay un botón con el símbolo de sumatoria (la e griega) al dar click aparecerá una leyenda que dice "Agrupar por"..
Esto quiere decir que agrupara por le nombre, y NO LO REPETIRÁ..
Att:telemaco
Me manda un error que dice:
Error de compilación: no se encontró el método o el dato miembro
Y me subraya
el punto form
MiSubForm.Form.RecordSource = sql
Gracias por tu atención
[email protected]
Ahora para el combo por ejemplo le di que tomara los datos de tabla1 en el campo nombre, pero veo que hay varios jose; así que cuando despliego la lista del combo para seleccionar un nombre veo que aparecen varios jose
Lo que deseo que solo aparezca un jose pues de cualquier forma el subformulario mostrara la lista de todos los jose
HAber imaginemos que el subformulario se llama MiSubForm, ahora vamos a programar en elevento "después de actualizar" (afterupdate) delcombo que llamaremos MiCombo, entonces este seria el código:
************************
Private Sub MiCombo_AfterUpdate()
if not isnull(MiCombo) then
sql = "select nombresdepersonas,ciudad from tabla1 where nombresdepersonas='" & MiCombo & "';"
MiSubForm.Form.RecordSource = sql
MiSubForm.Requery
end if
End Sub
********************
Ese seria el codigo...OJO CON LA SINTAXIS DEL WHERE de la consulta sql:
...where nombresdepersonas='" & MiCombo & "'
Como se suponde que el campo nombresdepersonas es texto, la sintaxis es:
Comilla sencilla, comillas dobles, Espacio, ampersand(&),
espacio, CRITERIO, espacio,
ampersand(&), espacio, comillas dobles, comillas sencillas
En estricto orden...
Para que el subformulario tome los datos nuevos, osea delfiltro, se amarra a la propiedad RecordSource la sentencia sql, y el método requery... es para que actualice los datos y los muestre de una vez...
Att:telemaco

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas