Hello,
Thank you very much for your answer!
There is a key value associated with my combo box.
On the Data tab of the Properties List, Contents List, I have the following
SQL statement: SELECT "name", "customer_id" FROM "customer"
My problem is that I do not know how to get the customer_id from the combo
box in the macro to do the update in the customers table, since using the
function getByName, I get the name of the client.
Regards,
Yessica

2013/1/31 Andrew Douglas Pitonyak <and...@pitonyak.org>

>
> Hopefully someone more in the know than I will answer, but, it is not
> clear to me that I have sufficient information to answer your question.
>
> I assume that your combo box is NOT multi-valued (don't even know if that
> is supported.... I have not looked at these in a very long time).
>
> is there something that ties your combo-box to some key value?
>
>
> On 01/30/2013 07:38 PM, Yessica Brinkmann wrote:
>
>> Hello,
>> Thank you very much for your answer! Now I understand what you're saying.
>> I changed my macro, now looks like this:
>> Sub ActualizarSaldoVentas (Evento)
>> Dim oFrm As Object
>> Dim oCliente As Object
>> Dim oTotal As Object
>> Dim oCon As Object
>> Dim oStat As Object
>> Dim sSQL As String
>> Dim oRes As Object
>> Dim sCliente as String
>> 'Dim oIdPago As Object
>> oFrm=Evento.Source.Model.**Parent
>> If oFrm.hasByName("id_cliente") Then
>>    oCliente=oFrm.getByName("id_**cliente")
>> Else
>>    Print "Cannot find id_cliente"
>>    Exit Sub
>> End If
>> sCliente=oCliente.**getCurrentValue()
>> oTotal=oFrm.getByName("**fmttotal")
>> Print sCliente
>> End Sub
>>
>> They were wrong names form controls.
>> The problem now is that when I write  Print sCliente, it prints the name
>> of
>> the client (because it is a combo box) and not the id of the customer,
>> which is what I need to do my update. How I can do to get the client id?
>> Can search by customer name obtained but this can be repeated, only the ID
>> is unique.
>> Much appreciate a response.
>> regards,
>> Yessica
>>
>> 2013/1/30 Andrew Douglas Pitonyak <and...@pitonyak.org>
>>
>>  I think that AndrewBase.odt provides a routine that can find a control
>>> from its name.... It is not efficient, but it works.
>>>
>>> To get things by name, you must know where they live. You have named
>>> forms
>>> and controls, so, I think that you can use the Forms navigator (or
>>> something like that) to see the heirarchy.
>>>
>>>
>>> On 01/30/2013 10:24 AM, Yessica Brinkmann wrote:
>>>
>>>  Hello,
>>>>
>>>> Thank you for the answers!
>>>> When I replaced the lines containing "getByName" for something as
>>>> indicated
>>>> prints a message saying: "Can not find cod_cliente". I think this is
>>>> because it is a field cod_cliente type drop-down list box and i should
>>>> get
>>>> the id of the customer through a cut chain or something, but I really do
>>>> not know how to do this in OO Basic. Can you help a little with this
>>>> please? I clarify that my formal education rather relied on the C and
>>>> Java.
>>>> regards,
>>>> Yessica
>>>>
>>>>
>>>> 2013/1/30 Andrew Douglas Pitonyak <and...@pitonyak.org>
>>>>
>>>>   Which line gives the error?
>>>>
>>>>> If you change all lines containing "getByName" with something like
>>>>>
>>>>> If oFrm.hasByName("cod_cliente") Then
>>>>>     oCliente=oFrm.getByName("cod_******cliente")
>>>>>
>>>>>
>>>>> Else
>>>>>     Print "Cannot find cod_cliente"
>>>>>     Exit Sub
>>>>> End If
>>>>>
>>>>> What happens?
>>>>>
>>>>>
>>>>> On 01/30/2013 04:56 AM, Yessica Brinkmann wrote:
>>>>>
>>>>>   Hello,
>>>>>
>>>>>> I have a database of business management. I have a customer table that
>>>>>> has
>>>>>> a field saldo_actual.
>>>>>> On the other hand, I have a sales form, in which I have a total field,
>>>>>> and
>>>>>> a button Calculate Total.
>>>>>> I want to make a macro that when clicking on the Calculate Total
>>>>>> button
>>>>>> to
>>>>>> add the total saldo_actual field.
>>>>>> I assigned the macro to the button event: Mouse button released. Then
>>>>>> I
>>>>>> write my macro:
>>>>>> Sub ActualizarSaldoVentas (Evento)
>>>>>> Dim oFrm As Object
>>>>>> Dim oCliente As Object
>>>>>> Dim oTotal As Object
>>>>>> Dim oCon As Object
>>>>>> Dim oStat As Object
>>>>>> Dim sSQL As String
>>>>>> Dim oRes As Object
>>>>>> Dim sCliente as String
>>>>>> oFrm=Evento.Source.Model.******Parent
>>>>>> oCliente=oFrm.getByName("cod_******cliente")
>>>>>> sCliente=oCliente.******getCurrentValue()
>>>>>> oTotal=oFrm.getByName("total")
>>>>>> oCon=ThisDatabaseDocument.******CurrentController.******
>>>>>> ActiveConnection
>>>>>>
>>>>>>
>>>>>> oStat=oCon.CreateStatement
>>>>>> sSQL="UPDATE cliente SET cliente.saldo_actual =
>>>>>> cliente.saldo_saldo_actual
>>>>>> + "& oTotal.getCurrentValue()& " WHERE id_cliente=" &
>>>>>> oCliente.getCurrentValue()
>>>>>> oRes=oStat.ExecuteQuery(sSQL)
>>>>>> End Sub
>>>>>> Clicking on the button Calculate total, I get the following error:
>>>>>> BASIC runtime error. There was an exception.
>>>>>> Type: com.sun.star.container.******NoSuchElementException Message:
>>>>>>
>>>>>>
>>>>>> I would appreciate very much a help please.
>>>>>> regards,
>>>>>> Yessica
>>>>>>
>>>>>>
>>>>>>   --
>>>>>>
>>>>> Andrew Pitonyak
>>>>> My Macro Document: 
>>>>> http://www.pitonyak.org/******AndrewMacro.odt<http://www.pitonyak.org/****AndrewMacro.odt>
>>>>> <http://www.**pitonyak.org/**AndrewMacro.odt<http://www.pitonyak.org/**AndrewMacro.odt>
>>>>> **>
>>>>> <http://www.**pitonyak.org/**AndrewMacro.odt<http://pitonyak.org/AndrewMacro.odt>
>>>>> <http://www.**pitonyak.org/AndrewMacro.odt<http://www.pitonyak.org/AndrewMacro.odt>
>>>>> >
>>>>> Info:  http://www.pitonyak.org/oo.php
>>>>>
>>>>>
>>>>>
>>>>>  --
>>> Andrew Pitonyak
>>> My Macro Document: 
>>> http://www.pitonyak.org/****AndrewMacro.odt<http://www.pitonyak.org/**AndrewMacro.odt>
>>> <http://www.**pitonyak.org/AndrewMacro.odt<http://www.pitonyak.org/AndrewMacro.odt>
>>> >
>>> Info:  http://www.pitonyak.org/oo.php
>>>
>>>
>>>
> --
> Andrew Pitonyak
> My Macro Document: 
> http://www.pitonyak.org/**AndrewMacro.odt<http://www.pitonyak.org/AndrewMacro.odt>
> Info:  http://www.pitonyak.org/oo.php
>
>

Reply via email to