Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

[SOLUCIONADO] FUNCION SiInm

Estas en el tema de FUNCION SiInm en el foro de Bases de Datos General en Foros del Web. Buenas tardes, a ver si me sé explicar para que me puedan ayudar. Tengo una base de datos en la cual, introduzco una serie de ...
  #1 (permalink)  
Antiguo 18/07/2013, 10:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
FUNCION SiInm

Buenas tardes, a ver si me sé explicar para que me puedan ayudar.
Tengo una base de datos en la cual, introduzco una serie de facturas incluyendo tan solo la base imponible da cada una.
Mediante una consulta obtengo los en otras dos columnas el IVA y el TOTAL DE FACTURA, mediante unas formulas.
El caso es que es esta consulta, tengo un campo que se llama proveedor, y quisiera saber la forma de que, cuando el proveedor se "SEG SOICIAL" por ejemplo, los campos IVA y TOTAL DE FACTURA me aparezcan a 0. Creo que es algo así como la función SI en Excel, pero no consigo que funcione.

Espero la ayuda,

Muchas gracias
  #2 (permalink)  
Antiguo 18/07/2013, 17:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: FUNCION SiInm

Perfecto, pero ¿QUé DBMS estás usando?
¿SQL Server? ¿Postgre? ¿MySQL? ¿Oracle? ¿Otro?

Funciones de ese tipo no son universales. En cada uno hay unas mejores que otras para lo que necesitas, pero sin saber con cuál trabajas....
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/07/2013, 22:27
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Respuesta: FUNCION SiInm

Perdon , pense que estaba en el foro de Acces. La base de datos es con access. si quieren muevan la conversacion al lugar adecuado.

Gracias
  #4 (permalink)  
Antiguo 19/07/2013, 08:44
 
Fecha de Ingreso: julio-2013
Mensajes: 6
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: FUNCION SiInm

Que tal jose_alk,

la funcion IF funciona de ma sig manera:

IF condicion que debe cumplirse THEN
Actividades que quieres que haga si la condicion se cumple
ELSE
Actividades que quieres que haga si la condicion NO se cumple
ENDIF

ejemplo:
IF [proveedor] <> "seg. social" then
carga el iva
else
no carges el iva
endif

espero te haya podido ayudar

saludos
  #5 (permalink)  
Antiguo 19/07/2013, 11:32
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Respuesta: FUNCION SiInm

Muchas gracias.
La verdad es que entiendo la funcion, pero no realiza lo que estoy buscando.

En mi base de datos quedaria de la siguiente forma:

IF [proveedor] <> "seg. social" then [iva]="0" Else [IVA] endif
Me da error de sintaxis

Entiendo que con esta expresion, siempre que el campo proveedor sea "seg. social" el campo IVA estara a 0, y cuando sea otro el campo IVA sera tal cual.
¿Puede ser que el error venga por que el campo IVA es un campo que me lo calcula a partir la formula IVA: [BASE IMPONIBLE]*21/100 ?

Muchas gracias por la ayuda
  #6 (permalink)  
Antiguo 19/07/2013, 14:40
 
Fecha de Ingreso: julio-2013
Mensajes: 6
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: FUNCION SiInm

observo un primer posible error

iva="0" no puedes asignar un texto a un campo numerico, esto debe ser IVA=0

otro pudiera ser el que comentas,

siempre que realizo este tipo de procesos en los programas, mejor defino
por separado el IVA y este lo estoy o no cargando (segun sea) cuando lo necesito

para esto, creo una base de datos con el valor, y me sirve ademas por aquello de que al gobierno se le ocurra cambiar el IVA en el pais, asi ya no tengo que entrar a cambiar los procesos, el mismo usuario define cuanto es de IVA y automaticamente el sistema lo va a cargar

esto lo puedes hacer creando un formulario con la BD de iva y este lo insertas como subformulario (no visible) en cada uno donde lo necesites, de ahi esta obteniedo el mismo valor para cualquier operacion donde lo requieras

al menos es la forma en la que lo he utilizado y me ha funcionado perfectamente

saludos...
  #7 (permalink)  
Antiguo 19/07/2013, 18:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: FUNCION SiInm

Control de flujo IF.. THEN... ELSE...:
http://www.techonthenet.com/access/f...ed/if_then.php

Función IIF():
http://www.techonthenet.com/access/f...vanced/iif.php

...mas o menos 1,2 segundos buscando en Google...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 20/07/2013, 03:23
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Respuesta: FUNCION SiInm

Muchas gracias jramirezjimenez, voy a probar lo que me comentas. Con la formula en la consulta no consigo que funcione. No entiendo muy bien lo que me comentas del formulario, pero seguiremos investigando.

gnzsoloyo, entiendo que para expertos como vosotros sea muy fácil estos temas. Precisamente si pregunto por aquí es porque, después de buscar y re-buscar no he conseguido lo que pretendo. Tendrías que entender que no todos somos expertos, y aprendemos mucho haciendo estas consultas. No me parece adecuada tu contestación.

De todas formas muchas gracias por vuestra ayuda.
  #9 (permalink)  
Antiguo 20/07/2013, 05:07
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: FUNCION SiInm

Pues lamento que te molestes así, pero el tema no pasa por ser experto o no. El problema es que no nos estás dando lo necesario para poder entender con precisión tu problema:
1) No nos estás dando suficientes datos de contexto.
2) No nos estás mostrando lo que estás intentando (consultas, código de VBA, etc.).
3) No nos estás mostrando lo que tienes y lo que necesitas obtener.
4) No nos muestras el tipo de datos o estructura de las tablas que usas.

Es decir, no nos estás aportando nada, y lo poco que dice no permitiría a nadie, saber exactamente cuál es la solución que realmente te servirá. Asi que antes de quejarte... haz el esfuerzo de explicar cosas que nos sirvan para ayudar.

Dices:
Cita:
La verdad es que entiendo la funcion, pero no realiza lo que estoy buscando.
Pero no aclaras por qué no entiendes, qué no entiendes, o bien qué es lo que bucas.

También:
Cita:
IF [proveedor] <> "seg. social" then [iva]="0" Else [IVA] endif
Me da error de sintaxis
pero no nos dices cuál es el mensaje exacto, y evidentemente ni siquiera has seguido los modelos de manual de escritura de un bloque de control.
Y por esta última razón es que te puse los link.

Postea todo: Código, tablas, y consultas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 20/07/2013, 06:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Respuesta: FUNCION SiInm

Da igual.
Creo que ya lo tengo solucionado.

Muchas gracias por todo, de verdad.

Etiquetas: access
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:45.