Hi again, this is not a real problem but is something really curious that intrigates me.

I posted a question about the same program on friday, but of course i'll explain the tables again. I have 3 tables, PERSON, EMPLOYEE and CLIENT. A person can be only once employee, only once a client or both.

They connect between each of them with ID, this ID is a 8-length array of numbers or letters, like:

A1253681

So, what i used is VARCHAR2(8 ), using a format mask of 'XXXXXXXX'.

Ok, i finished the program, and while testing it, i found something really weird. If you assign ID with '________', (8 undersigns) when you assign this ID a child (employee or client, doesn't matter) the child tables goes crazy and references every single record i have in them.

But, if i do a select in sql plus, that doesn't happen at all.

I have fixed this, using WHEN_VALIDATE_ITEM in ID, checking if it's a 8 length array and only has numbers or letters, that's why i wrote before this is not a real problem, but it's very curious.

Please post what you think it's happening here. Thanks a lot for reading.

PS: If you haven't understood the problem it's giving me, i put here an example of what's happening. You don't need to read it if you don't want to or if you understood it with the description.

The reason is that the underscore is a wildcard; it means any single character.
So, if you query in Forms (or in fact in sql, using LIKE instead of =), you will get every record with 8 characters in the ID.
Nothing weird here.

Oh you are right! So, the automatic connection from FORMS that i created, is using LIKE instead of equals, that's why is happening this. Thanks a lot! But the most curious thing is that union condition is assigned with this:

EMPLOYEE.ID = PERSON.ID

So, even with this, FORMS don't use equals, it uses LIKE. In other components, it could be it has a property to use LIKE or equals, but this one has only 10 properties, including name, subclass... Ok, mistery resolved, thanks again!