en apuros

elizabeth castro
10 de Noviembre del 2003
Les mando este código

Private Sub Combo1_Click()
Dim clave As String * 3
clave = Trim(cve_edo(Combo1.ListIndex))
Text1.Text = clave
Set mun = db.OpenRecordset("SELECT mun_nom,mun_edo FROM municipios WHERE mun_edo = clave", dbOpenDynaset)
s = 0
Do While Not mun.EOF
Combo2.List(s) = mun.Fields("mun_nom")
mun.MoveNext
s = s + 1
Loop

End Sub

necesito que me ayuden, ya investigue varios formas de usar el SELECT para la siguiente
cláusula

Set mun = db.OpenRecordset("SELECT mun_nom,mun_edo FROM municipios WHERE mun_edo = clave", dbOpenDynaset)

ésta se encuentra en el código que les estoy enviando anteriormente.

Mi problema es que cuando yo selecciono una opción de la lista del combo1 me manda el siguiente error

Run-time error '3061':

Too few parameters. Expected 1.

La mera verdad no se que hacer, quisiera seguir adelante con lo que sigue, pero de que me sirve hacerlo si también lo ocupo para almacenarlo a la tabla de la base de datos.

POR FAVOR, se los agradecería mucho,
GRACIAS.:)

Baltasar
10 de Noviembre del 2003
Por lo que veo, quieres pasar la variable CLAVE como parámetro, pero no lo estás haciendo, le estás diciendo que busque mun_edo=clave, cuando deberías hacer:
From municipios WHERE mun_edo=" & clave
o
From municipios WHERE mun_edo= '" & clave & "'"
si el campo mun_edo es de texto

otro tema que no estoy seguro de que realmente sea un fallo, es la manera de rellenar el combo. Lo que normalmente se usa es el método ADDITEM, de la siguiente manera:

combo2.clear
Do While Not mun.EOF
Combo2.additem mun.Fields("mun_nom")
mun.MoveNext
Loop

Saludos