En la sub para borrar la variable (que va como argumento es 'Tabla'). Es
decir, llamas a la subrutina:
BorrarRegistros("Empleados")
Esto borra los registros de la tabla "Empleados". Nota los espacios que hay
separando los elementos.
la Expresion:=Iif([Nombre]="Jorge","1","0") deberia funcionar, con la
excepcion que el campo [Nombre] no fuese alfanumerico, sino que numerico
(supongo no lo es). Por otro lado, es poco recomendable hacer busquedas de
registros basados en valores alfanumericos (como nombres, apellidos, etc.)
en vez de usar el numero del registro vinculado a la tabla secundaria.
Parece que el nombre (en este caso, 'Jorge') esta repetido en varios campos
y tratas de ver cuales son todos los 'Jorge' que tienes en la lista. Si es
asi, es siempre mejor usar una busqueda mas generica, como InStr(cadena,
cadena_que_buscas). En vez de Iif(...) usa:
Expresion:=Iif(InStr([Nombre],"Jorge") > 0, 1, 0)
esto detecta si el nombre Jorge esta contenido en cualquier parte del campo
[Nombre]. Mientras la igualdad (deben ser identicos) no funciona, el buscar
una cuerda dentro de otra es mas exacta en estos casos. Claro que en
ocaciones dara resultados no deseables, como si existieran "Jorge",
"Jorgette", "Jorgely" los cuales se mostrarian al buscar por "Jorge". Pero
por otro lado, si tienes Jorge Jose, Jorge M., " Jorge" ninguno de estos es
igual a "Jorge".
--
Victor Delgadillo [MVP Access]
Miami, Florida
Consultas al grupo, asi todos nos beneficiamos.
Vea los MVP: http://www.microsoft.com/communities/mvp/mvp.mspx
Post by PalegoxMuchas Gracias Victor, por interesarte en mi problema.
En el primer caso, creo que no me explique bien, tratare de hacerlo mas
detallado para que me quede bien explicado.
Mi tabla tiene entre sus campos uno llamado "Nombre", y los nombres se
seleccionana desde un 'combo box'. quiero hacer una consulta que solo me
muestre los registros relacionados con una persona, asi que lo que intento
hacer, es que en la consulta, si el campo "Nombre" tiene como valor a
"Jorge", en otro campo me ponga un "1", y en los que no, "0", para que en
una segunda consulta, basada en la consulta anterior, solo me muestre los
registros con ese "1", y solo seran de dicha persona. La formula que uso, es
Expr1: IIf([Nombre]="Jorge","1","0")
Pero en vista Hoja de Datos, en el campo con la formula, solo me indica
"Error", aun que al guardar la consulta, no encuentra error en la
formula.Tambien habia intentado usar el filtro de la propia consulta, pero
no me funciona, ya que si pongo "Jorge" en 'criteria', en vista Hoja de
Datos, no me muestra ningun registro, aunque yo se que si lo hay.
En cuanto a la segunda consulta que hago en mi mensaje anterior, hay algo
que no entendí; en la subrutina que tan amablemente me envías, al ejecutarse
este código, se borrarán los registros en la tabla actual?, o se va a
dirigir a una tabla designada por mi?, y si es así, de que manera le indico
cual es la tabla a borrar?.
Muchas gracias Victor, por tu apoyo.
Saludos.
Palegox.
PD: De cualquier manera, voy a tratar de investigar para tratar de
contestarme a mi mismo....
Post by Victor DelgadilloSimplemente creas el campo: nombre:=<formula>
Salario:=[Dias] * [SalarioPorDia]
Esto crea una columna con el producto de los campos. Claro que no es
conveniente guardar en un campo de una tabla este valor, ya que siempre
esta
Post by Victor Delgadillodisponible al multiplicar los campos, por otro lado, al cambiar cualquiera
de los datos, el producto cambia, no asi el valor almacenado en el campo.
Para vaciar la tabla, una vez copiada, puedes hacer una pequena subrutina
Public Sub BorrarRegistros (Tabla as String)
Dim sSQL as String
sSQL = "Delete * FROM " & Tabla
CurrentDb.Execute sSQL
End Sub
Luego la llamas desde el macro como cualquier funcion.
--
Victor Delgadillo [MVP Access]
Miami, Florida
Consultas al grupo, asi todos nos beneficiamos.
Vea los MVP: http://www.microsoft.com/communities/mvp/mvp.mspx
Post by PalegoxEstoy tratando de, por medio de una macro, copiar la tabla principal
de
Post by Palegoxmi
Post by Victor DelgadilloPost by Palegoxproyecto, cambiándola de nombre (para resguardar los datos), y crear una
tabla igual (mismos campos, mismos formatos) para iniciar de nuevo la
recopilación de datos.
He conseguido con las opciones de la propia macro, copiar la tabla,
cambiarla de nombre, pero no se como vaciarla, o recetearla, ya que
tiene
Post by Victor Delgadilloun
Post by Palegoxautonumerico.
Por otro lado, como puedo, en una consulta crear una campo nuevo, y
que
Post by Palegoxel
Post by Victor DelgadilloPost by Palegoxvalor sea determinado por el contenido de otro campo de la misma
consulta?
Post by Victor DelgadilloPost by PalegoxEn ocasiones anterior, me comentan que en una tabla no es
recomendable,
Post by PalegoxPost by Victor DelgadilloPost by Palegoxpero, y en una consulta?
Se que solo escribo para preguntar, pero ya estoy aprendiendo.....
De antemano, Gracias...
Palegox.