Javier

Much of what I understand you're trying to do with Browse in Windows can be
done but not by using the "built in" features of R:Base, rather by taking
advantage of the huge power of the CHOOSE command.

Try the code below (attachments I gather don't do well in this list), which
generally is part of the R:Base advanced book I teach with.  Enjoy and tell
me if it does what you're looking for.

David Blocker

*(**********************************************************
** FILENAME:    ANYDB.RMD                                **
** CREATED BY:  David Blocker                             **
** PURPOSE:     Demonstrate how automatic # options with  **
**              CHOOSE allow you to create an all purpose **
**              query option off of your menu system.     **
**                                                        **
**             Uses CHOOSE .. CHKBOX, CHKSORT             **
** CALLED BY:   Any application or R> prompt              **
** CALLS:       Returns                                   **
** LAST UPDATE: 01/15/98                                  **
**              07/2000: for 6.5 Windows by DB            **
***********************************************************)

*(Come back  here to start again)
LABEL TOP
SET MESS OFF

-- Part 1:  Pick a database
SET COLOR FORE BLACK
SET COLOR BACK GRAY
CLS

CHOOSE VDB FROM #DATABASES AT 10 5

-- User wants out
IF VDB = '[ESC]' OR VDB IS NULL THEN
  GOTO BOTT
ENDIF

-- Connnect database and display choice at top of screen
CONNECT &VDB

CLS
WRITE 'DATABASE:' AT 1 3
WRITE .VDB AT 1 25

-- Popup alone is not enough info; need directions on top:
-- choose a table/view
WRITE 'Select a table or view from database' AT 3 5
CHOOSE VTAB FROM #TBLVIEWS AT 10 5 LINES 12

-- User pressed [ESC]; start over
IF VTAB = '[ESC]' OR VTAB IS NULL THEN; GOTO TOP; ENDIF

-- Display table selected below database
CLS FROM 3
WRITE 'TABLE/VIEW:' AT 2 3
WRITE .VTAB AT 2 25
WRITE 'Select categories to view; Mark/unmark with [Space] / mouse, OK when
done +
' AT 4 5

-- Note you no longer need to create the columns menu
-- on the fly
CHOOSE VCOLS FROM #COLUMNS IN .VTAB  AT 10 5 +
CHKBOX LINES 12

-- User pressed [ESC]; start over; NOTE BUG!!! If you press
-- [F2] without first marking a table, R:BASE shows the
-- variable as NULL, but VCOLS IS NULL evaluates as NOT
-- true!  So does VCOLS = '-0-'; only the following works!
-- This true for CHKBOX and CHKSORT menus.
IF VCOLS = '[ESC]' OR VCOLS LIKE '-%' THEN
  GOTO TOP
ENDIF

-- Display columns selected and prompt for sort order
CLS FROM 4
WRITE 'CATEGORIES SELECTED:' AT 3 3
WRITE .VCOLS AT 3 25

-- Note this menu no longer needs to be created on the
-- fly as well
WRITE 'Pick sort order; mark field(s) to sort by with +
mouse/[Space], OK when done' at 5 5
-- BUG NOTE in 6.5: if you do NOT use a CAPTION in a
-- "CHOOSE .. FROM #COLUMNS" command, R:Base places garbage
-- characters in the caption
CHOOSE VORDER FROM #COLUMNS IN .VTAB AT 12 5 +
CHKSORT CAPTION ' ' LINES 12

-- Show sort order and prompt for WHERE clause
CLS FROM 5
WRITE 'ROWS ORDERED BY:' AT 4 3

-- User might not want sorting; display appropriate
-- message; SEE BUG NOTE ABOVE
IF VORDER IS NULL OR VORDER LIKE '-%' +
OR VORDER = '[ESC]' THEN
  WRITE 'Original order' AT 4 25
ELSE
  WRITE .VORDER AT 4 23
ENDIF

CHOOSE VWHER FROM #WHERE IN &VTAB

-- Display final command; any key to start.
CLS FROM 6
WRITE 'CONDITIONS: ' AT 5 3
IF VWHER = '[ESC]' OR VWHER IS NULL THEN
  WRITE 'All rows' AT 5 25
ELSE
  WRITE .VWHER AT 5 25
ENDIF
PAUSE 1 USING 'Press any key to view this data; [Esc] +
when done.' AT 10 10

-- 4 possible commands to build: no sort or where; no sort;
-- no where; all parts present.  NOTE USE OF & before each
-- part.  This is REQUIRED in R:BASE 3.x when you replace
-- part of a command with a variable
IF VORDER IS NULL OR VORDER LIKE '-%' OR +
VORDER = '[ESC]' THEN
  IF VWHER = '[ESC]' OR VWHER IS NULL THEN
    BROWSE &VCOLS FROM &VTAB
  ELSE
    BROWSE &VCOLS FROM &VTAB  &VWHER NOCHG
  ENDIF
ELSE
 IF VWHER = '[ESC]' OR VWHER IS NULL THEN
   BROWSE &VCOLS FROM &VTAB ORDER BY &VORDER NOCHG
 ELSE
   BROWSE &VCOLS FROM &VTAB ORDER BY &VORDER  &VWHER NOCHG
 ENDIF
ENDIF

-- Must remaximize screen: R:Base makes it normal size after
-- leaving the BROWSE screen!
MAXIMIZE

-- Do you want to do it again?  Yes is a default.
SET VAR VYN = 'Yes'
DIALOG 'Make another query? '  vYN vKey YES

IF VYN = 'Yes' and vKey <> '[Esc]' THEN
  GOTO TOP
ENDIF
LABEL BOTT
SET MESS ON
CLE VAR VDB,VTAB,VCOLS,VORDER,VWHER,VYN,vKey,vendkey,+
vMovie1,vversion,vwalkon
CONNECT yourdefaultdb
RETURN

----- Original Message -----
From: "Javier Valencia" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, November 10, 2002 3:25 AM
Subject: RE: Views and Layout


Alastair and Claudine:
I concur wholly with your evaluation. The query functionality that we had in
DOS is not in available in Windows. There is no simple way, from within an
application, to switch from the browser screen to the query screen like you
could in DOS (CTRL F3). In Windows, you have to build your query and once
you execute the command, there is no way to get back to the QUERY screen to
make changes such as add (or subtract) tables and/or columns, create new
links or change the selection criteria. I always thought that this was one
of the best features of R:Base, as it gave the user unlimited multi-table
query capabilities from within an application, this in addition to the
problems that you pointed out. Mike Willochell  at RBTI came up with a
kludged workaround, but is too complicated to put in an application.
The other command that I used extensively in DOS was the PROMPT command;
with this command you could simplify programming dramatically, it is too bad
that it is not available in Windows. If nothing else, it was an great
teaching aid when training new users.
Last but definitely not least, unless you want to use Adobe Distiller, there
is no way to store the results of a standard report to a file as you loose
all formatting; luckily, we will be getting this capability back in 7.0
Again, RBTI as done an excellent job in trying to accommodate all users
requests, and, who knows, maybe 7.0 will give us this functionality back.
All things considered, I believe that switching to Windows was the right
decision, since the upgrade to 7.0 should be (hopefully) a snap.

Javier Valencia, PE
President
Valencia Technology Group, L.L.C.
14315 S. Twilight Ln., Suite #14
Olathe, KS  66062-4571
(913)829-0888
(913)649-2904 FAX

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:owner-rbase-l@;sonetmail.com]On
Behalf Of Alastair Burr
Sent: Saturday, November 09, 2002 4:15 PM
To: [EMAIL PROTECTED]
Subject: Re: Views and Layout

Claudine,

Convert - yes, definitely! But I thought that everything in DOS was supposed
to available in Windows - that's partly what sold me and it's not true.

That's NOT to say that RBWin is no good - there is a lot going for it and,
on balance, I'd go for RBWin every time but I do miss the DOS browser, its
simplicity and its ability to do what it says it does.

I don't know if v7 will fix it but at the moment the screen layout is not
saved properly and you can't - at least, I haven't found the way - to build
a query like you could in DOS - it can be done but it's more complicated or
involved. RBTI say that it works as it's meant to but my argument is that
what it's meant to do is wrong (different) and not as good as it was in
DOS!! But, as you see, there are ways around...

Set soapbox off - for a while <g> and I'll try to stop swearing, I promise!
Regards,
Alastair.



----- Original Message -----
From: "Claudine Robbins" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, November 09, 2002 2:00 PM
Subject: RE: Views and Layout


Alastair, thanks for opening my eyes to the simplicity of the answer.  One
SELECT to create all the fields in the view, one BROWSE field-w to put them
on the screen.  Sorta like the Texas two-step.  It works like a charm.  I'll
still submit it to RDCC as an improvement to the view creation SELECT.  Et
plus de jurons en francais! (no more swearing in French).  Going back to
DOS?, I thought you were a convert to 7.0 like the rest of us <g>...
~Claudine :)

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:owner-rbase-l@;sonetmail.com] On
Behalf Of Alastair Burr
Sent: Saturday, November 09, 2002 2:52 AM
To: [EMAIL PROTECTED]
Subject: Re: Views and Layout

Claudine,

You might try going back to the DOS version because the Windows
browser/editor isn't a patch on the older one.

I've been trying for well over a year - ever since I upgraded to RBWIN - to
get the missing functionality in the Windows browser that the DOS one had
but swearing in English, pounding my head on the desk, or anything else has
failed miserably.

That said, can you not try something like this:

browse col1=1=10, col2=1=20, col3=1=30 from tablename where idnum in (select
idnum from yourview)

I hope that you have more luck than I've had,
Regards,
Alastair.



----- Original Message -----
From: "Claudine Robbins" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, November 08, 2002 10:34 PM
Subject: Views and Layout


I have created a view which would fit perfectly in my browser screen if I
was allowed to specify the width of each column as in a normal select
(SELECT field1=10, field2=40, etc...).  Using LAYOUT on, and formatting the
browser columns apparently only works with tables (and then only when all
fields in the table are included, although they can be squeezed to appear
gone).  Changing the default browser font, functions such as CTR and STRIM
and pounding my hand on the desk while cussing in French don't work either!
If no one else knows of a workaround, I think I'll submit this to RDCC as a
desirable improvement in the next release. ~Claudine ☺

================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/

================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/

================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/

================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/

================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/



================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/

Reply via email to