It seems others have had difficulty doing the same thing in messages a
few years old here. Is there any new feature to do this? The Help
mentions a FROM clause lookup of some kind, but I can't find any
syntax examples.
Why are the simplist things a bear in Forms? Does it get better with
practice, or is Forms just outdated? I can't seem to figure out
Oracle's design philosophy for this tool. It seems *random* so far.
Odd limitations with odd error messages and odd triggers at odd times.
Thanks in advance, -T-
hmmm, you are a Micro$oft developer ? Forms is the coolest !
steps to create From clause query form:
1. select From clause query as datasource for your block
2. Put your select statement in Query Data Source Name property
3. create corresponding items in the block
4. Run y'r form
I am getting "FRM-40505: ORACLE error: unable to perform query."
That is not a very descriptive message. Is there a way to "X-ray"
exactly what is being sent to Oracle? I checked the SQL from "Data
Source Name" in SQL*Plus and it works fine there.
It is also giving me this warning during compile: "FRM-30113: Block
must have non-query-only database item." I want a read-only grid form
for this part.
Is there an inexpensive service from India or something that can
answer my questions for reasonable fees? This tool is overwelming me
with its black-box antics. Learn-from-the-book is not working well for
me on this one. I have a deadline to reach and I have to keep starting
over and re-alligning everything each time some unknown behavior or
vague error complaint pops out of the wood-work and puts my poor app
on skitzoid crack cocaine. (Perhaps I need a version control tool
where I can roll things back to the last known non-stoned app state.)
Yes, I am mostly from the Microsoft world, and I do find their
products have a shallower learning curve, which is one of the reasons
for their success IMO. If Forms is somehow optimized for the long-run
instead of the short-run, then I am in for a h*ll of a near-term ride.
Thanks for your help.
-T-
Hi,
The error message "FRM-40505: ORACLE error: unable to perform query"
is not very helpful as a debug message but it is not meant to be, it
is only a warning to end users. To access a more detailed message
there is a function called "display error". This can be called by
pressing shift+F1 for client server or shift+ctrl+E for a webforms
app. This will bring a grey box into the middle of the screen with
details of the sql statement that failed if applicable.
Also you mention that you have to keep re-aligning items when some
unknown behaviour occurs. Could it be that you were re-sizing a frame
on a canvas at the time? To avoid forms automatically re-jigging? your
items there is a property on all frames called "update layout" which
should be set to locked.
Hope this helps and hope I've not missed the point too much.
Steve E.
I finally learned how to make use of the :SYSTEM.LAST_QUERY variable
to see what was (allegedly) sent. The problem is that it *contradicts*
the results that SQL*Plus give me.
Many times FORMS returns no records dispite pasting the exact SQL in
SQL*Plus and having it work there. I even rebooted to make sure there
is nothing floating in cache that the other does not see.
For example, a "browse" window lists a bunch of rows. When the user
double-clicks on a row, it brings up a detail form. I have the
double-click event alter the WHERE_CLAUSE property of the detail block
to bring up that one record (generally using an ID of some sort). It
works on *some* of the records, but not all. I cannot see a
difference between the records it works on and the records it does
not.
The :SYSTEM.LAST_QUERY shows what is expected (resembling: ....WHERE
foo_ID = 'A742') and works fine in SQL*Plus. I don't know why Forms
says that the query returned no results for some records. The same
record shows on the browse form, but why can't the detail form see it?
This cannot be attributed to any mismatch between SQL*Plus (in this
case) because Forms *also* shows the record on the browse form.
Could it be that having two different blocks referencing the same
table causes it to get confused? I disabled editing on the browse
form.
>
> The error message "FRM-40505: ORACLE error: unable to perform query"
> is not very helpful as a debug message but it is not meant to be, it
> is only a warning to end users. To access a more detailed message
> there is a function called "display error". This can be called by
> pressing shift+F1 for client server or shift+ctrl+E for a webforms
> app. This will bring a grey box into the middle of the screen with
> details of the sql statement that failed if applicable.
>
> Also you mention that you have to keep re-aligning items when some
> unknown behaviour occurs. Could it be that you were re-sizing a frame
> on a canvas at the time? To avoid forms automatically re-jigging? your
> items there is a property on all frames called "update layout" which
> should be set to locked.
>
> Hope this helps and hope I've not missed the point too much.
>
> Steve E.
Thanks, -Tmind-