Hello,
I try connecting four tables for my OleDbCommand. The database I use is Ms Access.
Here is the commandtext I wrote:
string comstring1 = "Select Table1.Rbr, Table1.mbr, MATDAT.PRIME, SIFRAB.IMEZAN, ORGDAT6.IOE, Table1.sifra, Table1.nazivnatema, Table1.propisi, Table1.datumod, Table1.datumdo, Table1.mesto,Table1.izveduvacnaobuka from MATDAT inner join Table1 on MATDAT.MBR=Table1.mbr join ORGDAT6 on MATDAT.PE=ORGDAT6.PE join SIFRAB on SIFRAB.RABMES=MARDAT.RABMES order by Table1.Rbr asc";
but when I run the windows forms application I get an error:
Syntax error (missing operator) in query expression 'MATDAT.MBR=Table1.mbr join ORGDAT6 on MATDAT.PE=ORGDAT6.PE join SIFRAB on SIFRAB.RABMES=MARDAT.RABMES'.
Can anybody help me how to write the sql commandtext of the command correctly please?
Thank you in advance
Sanjeeb LenkaPosted Jul 19, 2013, 5:39 AM
Refer to this link:
http://www.connectionstrings.com/access
NelPosted Jul 19, 2013, 5:46 AM
cryRpt.Load
was wrong. Now it works. Thanks a lot to all of you
Ish BandhuPosted Jul 19, 2013, 5:40 AM
CrystalDecisions.Shared.ConnectionInfo connectionInfo = new CrystalDecisions.Shared.ConnectionInfo();
connectionInfo.ServerName = server anme;
connectionInfo.UserID = user id;
connectionInfo.Password = password;
NelPosted Jul 19, 2013, 5:22 AM
string comstring1 = "Select Table1.Rbr, Table1.mbr, MATDAT.PRIME, SIFRAB.IMEZAN, ORGDAT6.IOE, Table1.sifra, Table1.nazivnatema, Table1.propisi, Table1.datumod, Table1.datumdo, Table1.mesto,Table1.izveduvacnaobuka from ((MATDAT inner join Table1 on MATDAT.MBR=Table1.mbr) inner join ORGDAT6 on MATDAT.PE=ORGDAT6.PE) inner join SIFRAB on SIFRAB.RABMES=MATDAT.RABMES order by Table1.Rbr asc";
it works,
but when I run the application now I am asked for database login, which is very odd for me, login id and login password. Why does it happen? Can anybody help me please?
Thanks
P.S. the MS Access database is on the same computer, and I didn't put any password or login ID.
Sanjeeb LenkaPosted Jul 19, 2013, 4:40 AM
Select Table1.Rbr, Table1.mbr, MATDAT.PRIME, SIFRAB.IMEZAN, ORGDAT6.IOE, Table1.sifra,
Table1.nazivnatema, Table1.propisi, Table1.datumod, Table1.datumdo, Table1.mesto,
Table1.izveduvacnaobuka from (((MATDAT
inner join Table1 on Table1.mbr=MATDAT.MBR)
inner join ORGDAT6 on ORGDAT6.PE=MATDAT.PE)
inner join SIFRAB on SIFRAB.RABMES=MATDAT.RABMES)
order by Table1.Rbr asc
or try this
Select Table1.Rbr, Table1.mbr, MATDAT.PRIME, SIFRAB.IMEZAN, ORGDAT6.IOE, Table1.sifra,
Table1.nazivnatema, Table1.propisi, Table1.datumod, Table1.datumdo, Table1.mesto,
Table1.izveduvacnaobuka from MATDAT
inner join Table1 on (Table1.mbr=MATDAT.MBR)
inner join ORGDAT6 on (ORGDAT6.PE=MATDAT.PE)
inner join SIFRAB on (SIFRAB.RABMES=MATDAT.RABMES)
order by Table1.Rbr asc
Kunal VaishyaPosted Jul 19, 2013, 4:35 AM
Can you explain in details your Logical relations of tables.
Kunal VaishyaPosted Jul 19, 2013, 4:32 AM
Can you check all fields which you are using for join has same data type ?
NelPosted Jul 19, 2013, 4:11 AM
I changed it but again I get an error
Syntax error (missing operator) in query expression 'Table1.mbr=MATDAT.MBR inner join ORGDAT6 on ORGDAT6.PE=MATDAT.PE inner join SIFRAB on SIFRAB.RABMES=MATDAT.RABMES'.
Ish BandhuPosted Jul 19, 2013, 4:07 AM
SIFRAB.RABMES=MARDAT.RABMES
becuse there is no MARDAT table.
Please check it.
I think it will solve the probelm if it do not then your code will give some other error.
NelPosted Jul 19, 2013, 3:00 AM
NelPosted Jul 19, 2013, 2:59 AM
Syntax error (missing operator) in query expression 'Table1.mbr=MATDAT.MBR inner join ORGDAT6 on ORGDAT6.PE=MATDAT.PE inner join SIFRAB on SIFRAB.RABMES=MARDAT.RABMES'.
Kunal VaishyaPosted Jul 19, 2013, 2:39 AM
Kunal VaishyaPosted Jul 19, 2013, 2:37 AM
MARDAT table you are using its not found
Sanjeeb LenkaPosted Jul 19, 2013, 2:28 AM
Select Table1.Rbr, Table1.mbr, MATDAT.PRIME, SIFRAB.IMEZAN, ORGDAT6.IOE, Table1.sifra,
Table1.nazivnatema, Table1.propisi, Table1.datumod, Table1.datumdo, Table1.mesto,
Table1.izveduvacnaobuka from MATDAT
inner join Table1 on Table1.mbr=MATDAT.MBR
inner join ORGDAT6 on ORGDAT6.PE=MATDAT.PE
inner join SIFRAB on SIFRAB.RABMES=MARDAT.RABMES
order by Table1.Rbr asc