Access - No sea ha definido Sub o Funcion

 
Vista:

No sea ha definido Sub o Funcion

Publicado por Sandra Verónica (203 intervenciones) el 12/02/2008 13:57:19
Hola a todos . alguien sabe porque me sale el cartel "No se ha definido SUB O Funcion" en el siguiente codigo, quedando marcado la palabra SUM

If Caracter = 5 Then
Me.TotalMC = Nz(Sum([Importe_a_Compensar]), 0)
Else
Me.TotalSap = Nz(Sum([Importe_a_Compensar]), 0)
End If

Desde ya muchas gracias

Sandra!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:No sea ha definido Sub o Funcion

Publicado por JOSELO (232 intervenciones) el 12/02/2008 18:49:52
Mirá, no soy un experto, pero aveces y no se porque tengo que usar el nombre de la funcion en español
Prueba cambiar Sum por SUMA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No sea ha definido Sub o Funcion

Publicado por Enrique (1299 intervenciones) el 12/02/2008 21:00:10
Hola Sandra:
Vamos a ver, cuando tu creas un campo calculado en modo diseño para sumar un campo, lo haces con =Suma([NombreCampo]) y sin duda lo pones en el Origen del Control (ControlSoruce) del campo ¿ no ?. Pues entonces ¿ como pretendes asignar el valor de la Suma directamente a los campos TotalMC y TotalSap ???. El hecho de que ahora lo hagas por código desde VBA no cambia las cosas.

Prueba así y verás como funciona:

Private Sub Aceptar_Click()
If Caracter = 5 Then
Me.TotalSap.ControlSource = "=Null"
Me.TotalMc.ControlSource = "=Nz(Sum([Importe_a_Compensar]), 0)"
Else
Me.TotalMC.ControlSource = "=Null"
Me.TotalSap.ControlSource = "=Nz(Sum([Importe_a_Compensar]), 0)"
End If
End Sub

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No sea ha definido Sub o Funcion

Publicado por Enrique (1299 intervenciones) el 12/02/2008 21:04:38
Verás que yo lo he puesto en el Evento Click de un boton de comando "Aceptar", pero tu lo pones en el Evento que consideres oportuno.

Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

A Enrique - Nueva Consulta

Publicado por Sandra Verónica (203 intervenciones) el 13/02/2008 14:35:06
Gracias Enrique .... me has enseñado algo maravilloso. Crei que esto solucionaria mi problema ... pero no fue asi.
Te comento lo que necesito a ver si me podes ayudar.
Tengo un Subfromulario que tiene como origen una consulta que tiene como resultado dos codigos de Clientes diferentes.
Yo necesito mostrar en :
Me.TotalMC = la suma de Importe A Compensar Cuando el codigo tenga de longitud 5
Y mostrar en:
Me.TotalSap = la suma de Importe A Compensar Cuando el codigo tenga de longitud 7
El codigo por el cual puse el post no me divide los resultados. Me lo pone en uno u otro campo.
Espero me hayas entendido y desde ya muchas gracias!!!!!
Saludos
Sandra!

Ej.:
Acreedor Importe a Compensar
93073 2705,8
93073 2748,62
93073 3768,34
1000254 16287,18
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:A Enrique - Nueva Consulta

Publicado por Enrique (1299 intervenciones) el 13/02/2008 19:16:55
Hola Sandra:

Te he entendido, pero esto hay que enfocarlo de forma diferente a lo que planteabas ayer. Hay que actuar sobre los campos de la Tabla origen del subformulario en lugar de hacerlo en el Origen del Control de los Campos TotalMC y TotalSap y además se necesita una consulta para crear un campo calculado que calcule la Longitud de los Codigos. Mira este ejemplo que te he preparado que te puede servir de orientación y solo tendrás que adaptarlo a tus necesidades.

http://es.geocities.com/ensolva/Descargas/Varios/SumasEnForm.zip

Caso de que no lo consigas, avisa.

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:A Enrique - Nueva Consulta

Publicado por Sandra Verónica (203 intervenciones) el 13/02/2008 20:34:56
Enrique .... antes que nada .... agradezco el tiempo que dedicas a solucionar mis problemas....
Te cuento que lo adapte bastante a lo que tenia .... PERO .... al ejecutarlo me tira el erro 2001 - "Canceló la operación anterior"

Te cuento como funciona este formulario:
Tengo un Formulario que tiene un boton que busca un cliente. Este boton me dispara otro formulario con un cuadro de lista que al darle doble clic me devuelve al formulario anterior el Nombre - Código y CUIT del Cliente (Este form lo conoceras muy bien ya que es de tu autoria .... Ja, Ja).

Luego de tener al cliente en pantalla .... selecciono desde un cuadro combinado una de las "actas de compensacion a consultar"

Al darle clic a la que quiero ver se dispara este comando DoCmd.Requery "FormCambioEstadoActa"
Se ejecuta la consulta dentro de un subformulario que en tu ejemplo vendria a ser el "SubFormulario", es aca en donde puse el codigo que me diste y despues de mostrar el resultado de la consulta .... me tira el error.

Los nombres de los formularios son:
Formulario Principal: CambioEstado (En este form se encuentran los cuadros de texto independientes TotalMc y TotalSap
SubFormulario: FormCambioEstadoActa
Consulta: CambioEstadoActa

La verdad .... pense que esto iba a ser mas facil .... si podes ayudarme te lo agradecería .... sino .... buscare otra forma.

Saludos y un fuerte abrazo
Sandra!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

GRACIAS!!!!! ENRIQUE!!!!! SOLUCIONADO!!!!!

Publicado por Sandra Verónica (203 intervenciones) el 13/02/2008 20:56:29
Enrique .... hice un par de cosas .... que no se como describirtelas ..... y no vienen al caso y FUNCIONOOOOOOOOOOOOOO!!!!!!!!!!!!!!!!! SOY TAN FELIZZZZZZZZZ!!!!
GRACIAS MILES ENRIQUE!!!!!!!!!!!!!!
UN FUERTE ABRAZO!!!!!!!!!
Sandra!!!!!!!!!!!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:A Enrique - Nueva Consulta

Publicado por Enrique (1 intervención) el 13/02/2008 21:12:47
Pués si, la cosa se complica porque en mi ejemplo se usa la Función de Agregado DSum y esta necesita una consulta o tabla reales, no una consulta filtrada que se crea con DoCmd.Requery "FormCambioEstadoActa", por tanto habrá que actuar sobre el Recordset del Subformulario y esto es más complicado.

Tendría que verlo, así no me es posible decirte lo que tienes que hacer porque seguramente no acertaría por desconocer detalles del sistema que estás usando. Cada vez salen más cosas que no indicaste al principio.

Un Saludo
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:A Enrique - Nueva Consulta

Publicado por Gabriel (1 intervención) el 22/11/2017 21:13:08
Alguien podría ayudarme, me sale error de compilación: No se ha definido Sub o Function cuando ejecuto el codigo, pero si saco la línea que tiene el Match, ejecuta normal. No se que me falta.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub CommandButton1_Click()
 
    If TextBox1.Value = "" Or TextBox2.Value = "" Then
    MsgBox "Por favor ingresar usuario y clave", 16, "Faltan datos"
 
    ElseIf Match(TextBox1.Value, Tabla1(Usuario), 0) = 1 Then
 
    Label11.Visible = False
 
    Else
 
    Label12.Visible = False
 
    End If
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar