manipulacion de BD

23/09/2006 - 01:12 por SantiRv | Informe spam
Dirijo mi inquietud nuevamente a ustedes puesto que en anteriores
ocasiones he recibido su valiosa ayuda.

Partimos que se trabaja en un libro en la cual una de sus hojas
("clientes") es utilizada como base de datos conteniendo los sig campos
-id (codigo)
-nombre
-direccion
-localidad
-caracteristica
-telefono
-email

Lo que pretendo es que mediante un formulario vba yo seleccione desde
un "combobox" (el cual me captura de la mencionada bd el nombre del
cliente) y me muestre en tantos textbox o labels (tantos como campos
existen en la tabla) los datos de ella.
Una vez hecho ello, el enfoque esta en elaborar 2 macros

1) me permita modificar los datos desde el formulario
2) me elimine por completo la fila del cliente que he selecionado


Espero la explicaion les haya sido util, y si quieren me pasan su mail
para amndarles el archivo para que les resulte mas facil aun la
explicaion

gracias

Preguntas similare

Leer las respuestas

#26 SantiRv
03/10/2006 - 20:38 | Informe spam
Ivan me fije en otro comentario del grupo y encontre esto:


= error No. 381 en tiempo de ejecucion
no se puede configurar la propiedad list. Indice de matriz de
propiedades no valido
no se si hice algo que provoque el error, o haya pasado algo con
excel, ya que habia compilado y trabajado el programa sin problemas.


si estas tratando de 'rellenar' un control de lista/combo usando la
propiedad '.List = <matriz>'

el valor que le asignes debe ser -precisamente- una variable de matriz
[p.e.]
-> <objeto>.List = Array(1, 2, 3, 4, 5)


si estas pasandole un rango de celdas... es necesario 'calificar' la
propiedad '.Value' de manera 'expresa' [p.e.]
-> <objeto>.List = Rango("a1:a15").Value


El problema que creo que tengo es que al llenar el combo no encuentra
las variables que lo componen en esta parte:
ComboBox1.List = .Range("B2:b" & _
.[a65536].End(xlUp).Row).Value
que esta cada vez que realizo alguna accion y que se tiene que llenar
nuevamente el cmb

Si puedes encontrarmele una solucion te agradeceria mucho pork estoy un
poco estancado en eso

gracias nuevamente
Respuesta Responder a este mensaje
#27 Ivan
03/10/2006 - 21:45 | Informe spam
Hola Santi,

lo 1º ¿has introducido la modificacion sugerida por Paco en su ultimo
post?, te la recuerdo por si acaso:

donde pone: (en el Initialice del formulario)

With ComboBox1
.ListIndex = Fila - 2: .SetFocus
End With

He puesto esto:

If Fila > 0 Then
With ComboBox1
.ListIndex = Fila - 2: .SetFocus
End With
End If

si es asi, y sigues con el problema, paso a comentante lo que creo,
pero te vuelvo a avisar que mis conocimientos de vba y excel son
minimos (sobre todo los teoricos), y lo que te comento es fruto de mis
experiencias con los errores similares:

(que en el codigo lo unico que se modificaria seria el nombre de la




hoja) el error que aparece es el de "ambiguo" indicando a "fila" en el
evento

aunque el error que comentas despues es otro, a mi siempre que me ha
dado un error por nombre "ambiguo" siempre ha sido por que habia un
nombre duplicado de:
..- un procedimiento
.- una variable
.- un objeto o control

no se exactamente que has hecho para aplicar el codigo para otra hoja,
pero si has copiado el codigo dentro del mismo proyecto, quizas
convenga que revises la duplicidad de nombres

"Se ha producido el error Ž381Ž en tiempo de ejecucion:




No se puede configurar la propiedad List. Índice de matriz de
propiedades no válido"

a mi (casi) siempre que me ha dado este error con un combo ha sido por
"comerme" el '.Value' en la asignacion al '.List' -> revisa todas las
asignaciones de la propiedad list del combo y fijate que no falte la
propiedad Value (explicita, osea escrita) en ningu rango asignado a
ella. Es decir (si esta fuese la causa):

asi daria error 381 --> -> <objeto>.List = Rango("a1:a15")



-> asi no --> -> <objeto>.List Rango("a1:a15").Value

Si aun asi te sigue dando el error, puedes mandarme el archivo, aunque
no ando muy sobrado de tiempo y como te digo mis conocimientos no son
muy grandes. Quita lo evidente: lombocQuitaArrobatelelineSpam.es

un saludo y hasta pronto
Ivan
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida