Hola iratxe
Set rs1 = DB.OpenRecordset("SELECT distinct Subtema from fotos WHERE Tema like '%elementoSeleccionado%'", dbOpenDynaset)
oye, ese campo
distinct Subtema son dos campos y te faltó la coma? o es un mismo campo, porque de ser un mismo campo pues creo que debes de ponerlo entre comillas simples 'distinct Subtema' o haberlo creado asi distinct_Subtema, la tabla se llama Fotos asi que no es tabla.campo
Yo he hecho cosas asi pero no he usado el Like, sino que por ejemplo en la TablaPadre (TB1) tengo los campos donde el ID es (PK) PrimaryKey, correcto, entonces en la TablaHija (TB2) la que contiene los SubItems o SubTemas el ID no es (PK).
Entonces tu tomas el Tema (el registro) que buscas con tu primera SQL, y para cargar (supongo en otro comboSubTemas o en un Grid MSFlexGrid, DataGrid, DBGrid) los Subtemas de la otra tabla, pues indicarias en la SQL de la Tabla de SubTemas una SQL donde indiques que se traiga todos los registros de TB2 mientras el ID sea igual al ID de TB1.
Al traerte el Tema puedes ahí ya tendrias el ID de la TablaTemas, la pones un TextBox, en una variable o usas el RsTemas("codigo") para compararlo con la SQL de SubTemas
Ejemplo1:
Select Campo1, Campo2 From SubTemas Where codigo=" & txtcodigoTema.text & ""
Ejemplo2:
dim cod as integer
cod=RsTema("codigo")
Select Campo1, Campo2 From SubTemas Where codigo=" & cod & ""
O directamente
Select Campo1, Campo2 From SubTemas Where codigo=" & RsTema("codigo") & ""
Yo por ejemplo tengo una tabla que tiene Items, y otra que tiene los SubItems
pero no todos los Item tienen SubItem, solo algunos
Entonces cuando en un Combo selecciono un Item, en otro Combo al lado, se muestran sus SubItem "solo si este tiene" sino, el 2do Combo no despliega nada.
En esta imagen, se muestran dos tablas, la de la Izquierda es la tabla Padre, la de los Item, y la tabla de la Derecha es la tabla Hija, la de los SubItem, ahí se ve que solo algunos Item tienen SubItem. por ejemplo el Item Embarazo tiene varios SubItem, puesto que comparten el mismo código.
Asi en la SQL de Items me traigo el registro y luego en otra SQL indico traerme todos los registros que tengan el mismo codigo. Asi muestro en un Combo los Item y en otro combo los SubItem del mismo, nunca se trae los de otro puesto que cod1=cod2 deben ser iguales para traerse todos los registros.
mas o menos asi es lo tuyo verdad!