Skip site navigation (1) Skip section navigation (2)

Re: [GENERAL] Checkboxes on MSAccess and PostgreSQL

From: Valerio Santinelli <tanis(at)mediacom(dot)it>
To: sferac(at)bo(dot)nettuno(dot)it
Cc: pgsql-interfaces(at)postgresql(dot)org, "pgsql-general(at)postgreSQL(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: [GENERAL] Checkboxes on MSAccess and PostgreSQL
Date: 1999-02-24 11:25:01
Message-ID: 36D3E18C.E30FC6B8@mediacom.it (view raw or flat)
Thread:
Lists: pgsql-generalpgsql-interfaces
Jose' Soares wrote:

> Valerio Santinelli wrote:
> >
> > First of all.. thanks to everybody for helping me out witht the
> > "sequence" stuff. :)
> >
> > I've got another questions for you dudes.  When using a CheckBox in a
> > Form written in MSAccess that's related to a table in a
> > PostgreSQL database, if I simply turn its status from ON to OFF it works
> > fine, while if i'm doing the opposite it won't work.
> >
> > I noticed that when exporting the table from MSAccess to PostgreSQL the
> > "yes/no" fields all became char(1) and not boolean.. maybe this could be
> > the problem.
> >
> > I also noticed from the logs that when updating the status from ON to
> > OFF the UPDATE goes out with something like field_name='0'
> > I'm not sure it should use the "'" since it's more like a numerical, no
> > ?
> >
> > Thanks again,
> >
> > Valerio Santinelli
> > tanis(at)mediacom(dot)it
>
> You have to uncheck "Bools as Char" on Advanced options Driver on ODBC
> Data Source Administrator
> and then you have to create an operator for bool=int4 like this:
>
> /* M$Access tratta il valore booleano come un intero 0=false o -1=true
>    mentre invece PostgreSQL lo tratta come una stringa:
>    'true','t','1','y','yes','false','f','0','n','no'
>    Questo script crea l'operatore = e implicitamente <> per bool e int4
>    per compatibilita' con M$Access.
> */
> drop operator = (bool,int4);
> drop function MsAccessBool(bool,int4);
>
> create function MsAccessBool(bool,int4)
>   returns bool
>   as ''
>   language 'internal';
>
> create operator = (
>         leftarg=bool,
>         rightarg=int4,
>         procedure=MsAccessBool,
>         commutator='=',
>         negator='<>',
>         restrict=eqsel,
>         join=eqjoinsel
>         );

Some time ago I got this message and I tried to make booleans work with my
database, but there's been no way to do that. First of all, during the
"DROP MsAccessBool" my PostgreSQL database engine reports that the function
can't be dropped because it's an internal (built-in).
Second, it seems to replace it by creating the function (i don't know how it
could if the function already exists..) but then again when I'm updating a
record in a table with booleans it simply doesn't let me do that. I'm
desperately seeking help now.. I don't really know how to solve this problem.

Thanks in advance

Valerio Santinelli
tanis(at)mediacom(dot)it


In response to

pgsql-interfaces by date

Next:From: Michael DoyleDate: 1999-02-24 11:44:55
Subject: Problem with ODBC
Previous:From: Francisco AlonsoDate: 1999-02-24 10:51:09
Subject: problems with pgaccess

pgsql-general by date

Next:From: Daryl W. DunbarDate: 1999-02-24 13:44:54
Subject: RE: [GENERAL] ISP with PostgreSQL
Previous:From: Gilles DaroldDate: 1999-02-24 08:52:55
Subject: ISP with PostgreSQL

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group