PDA

View Full Version : Table Array Variables


ABC123

jackp_MDB
04-07-2011, 05:28 PM
I'm new to Alpha 5. My old DB required me to specify a field was an array by dimensioning it as such in the table. I can not find this or the method to do this in the documentation. Wiki describes how to use xbasic to work arrays, but what do I have to do/how do I store these in a table?

NoeticCC
04-08-2011, 11:24 AM
What kind of database was this? I've never heard of such a thing being defined for a database field

Stan Mathews
04-08-2011, 11:52 AM
There is no array field type in Alpha.

You could have an entire table to hold an array and you could save the array to a file for later retrieval.

I suppose you could also save an array to a memo field and retrieve it from that field.

Tim Kiebert
04-09-2011, 12:30 AM
What kind of database was this? I've never heard of such a thing being defined for a database field
Filemaker Pro has something similar. It has the ability to specify a field as repeating. Which is basically allowing multiple values in the one field, which could be classed as an array.

Multiple values in a field breaks the first rule of database normalization thereby greatly impairing the relational aspect of the database.

jackp_MDB
04-16-2011, 11:10 AM
What kind of database was this? I've never heard of such a thing being defined for a database field

I use Clarion for most of my work. When defining the fields in their "table designer," after setting the field type, for example a dBase3 table with a field defined as an integer, I then have the option of "dimensioning" that field. It becomes part of the tables definitions, and subsequently I must state/index which "hole" I'm saving the data in when I update that field.

I see no such item in Alpha...If I wanted to store an array within the "dbf" table that I create in Alpha...how do I do that? Mutiple individual fields?

How would you hold as example (not necessarily a good one) the names of the weekdays under the variable "weekday?" In my other programs, I would just define the weekday variable as a text with a single dimension of 7...then update weekday[1] as Sunday, weekday[2] as Monday, etc.

Is there a similar concept within Alpha?

Tom Cone Jr
04-16-2011, 08:09 PM
The traditional approach here would be to use separate records for each weekday field value. Instead of having a single record with 7 possible values, you'd have 7 records with only one value in each. This might be useful in a lookup source table, for example. While entering data into a second table the user might "lookup" the desired weekday field value from the 7 record table.

Mike Wilson
04-17-2011, 12:11 AM
Jack,
There is this function in Alpha but not the complimentary which gives the reverse, that I can see (day_number("sunday") -> 1). You can make your own (I dimmed global so you can see it in variables but don't have to):

dim vLweek as C
vLweek=comma_to_crlf(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday)

for i=1 to 7
evaluate_template("dim global vg_day"+i+" as C="+quote(word(vLweek,i,crlf())))
next

dim vweek_get as C=""
for x = 1 to 7
vweek_get=vweek_get+eval("vg_day"+x)+crlf()
next

? vweek_get
= Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

jackp_MDB
04-17-2011, 03:58 PM
Thanks for the comments...guess the simple answer is that Alpha does not store "arrays" in it's data base fields...

I guess I'm trying to fit Alpha into my "old ways" of doing things rather than learning anew.

Thanks for your help.

Tom Cone Jr
04-17-2011, 04:40 PM
Thanks for the comments...guess the simple answer is that Alpha does not store "arrays" in it's data base fields...

I guess I'm trying to fit Alpha into my "old ways" of doing things rather than learning anew.

Thanks for your help.Perhaps we can help your "adaptation" if you will tell us how you would use such an array when entering or editing records? i.e. what user experience do you need to replicate using Alpha tools or approaches?

jackp_MDB
04-25-2011, 06:24 PM
Tom,
What I'm working on a schedule program. The basics are a "matrix" that is labeled as "line numbers." These are 7 lines and each assigns a "priority" for the day of the week. For example, Line #1 is 7 on Monday, 1 on Tuesday, 4 on Thursday, and 5 on Friday. Line #2 is 2 on Monday, 3 on Tuesday, 5 on Wednesday, 1 on Thursday, and 4 on Friday...etc.

There are seven personnel, each assigned a specific line number for the week.

The schedule is then published showing "priorities" based on the line numbers. As an example, Monday's lines 1-7 are priority: 7,2,3,4,5,6,1. Whom ever is assigned line 1 is priority #7, line 2 is priority #2, line 3 is priority #3, etc.

Priorities #1-4 always show for work, and priorities 5-7 are on "standby," but do not have to report for work unless more than the normal workload is encountered.

I intended to have an Monday "array" to translate the line/priority assignments into personnel names. The index 1-7 would show priority 1-7. Each weekday would hold the seven name priority and I would use the index to create the printed schedule.

What are your ideas to do away with the indicies?

Tom Cone Jr
04-25-2011, 06:50 PM
Jack instead of "lines" could re-state your goal in terms of columns and rows? I've read your post several times and can't tell which is which. Sorry.

Mike Wilson
04-26-2011, 11:39 PM
OK,
I understand what your matrix should look like. What is the source to populate the matrix? Where do the 1-7 priority levels for Monday - Friday originate?