Illegal Database Join フォローする

0
Avatar
Legacy Poster

I have a connection setup to an Excel spreadsheet (XLS since XLSX does not work). I first added a second Excel spreadsheet and kept receiving "Invalid Join Condition for All Database Join. Database <db name> is missing from the Join." I tried converting the spreadsheet to Access MDB (ACCDB did not connect, format error) and the error still occurs. I did not create a join and no joins are listted so where is this error coming from and how do I get passed it?

Bartender 9.4 SR3 (unlicensed since I don't have a license server built yet and need to print test labels)
Win 7 64

4 コメント

0
Avatar
Shotaro Ito
モデレータ
コメントアクション Permalink

Hi Kevin,
When you Join multiple Excel sheet, give alias to each excel book. (I wonder why)
Then, you can create join from All Databases.
[attachment=30:JoinMultipleExcelBook.png]

Hope that helps!
0
Avatar
Legacy Poster
コメントアクション Permalink

Bartender error# 3219

I reread my original post and it is a little ambiguous.
The problem is that I do not want a join between the Excel spreadsheets or the Access table. They are independent data sources.

The first label I created has label items linked to columns in the Excel spreadsheet. It still works fine.

I created a second label and at first linked the its label items to a new Excel spreadsheet. This label gets the join error when I try to print. After reading a note in your FAQ regarding Excel I put the data into an Access table (MDB because ACCDB does not connect). I get the same join error.

When I look at the working label it only shows columns for the Excel spreadsheet. If I look at the label getting the error it shows columns from both the spreadsheet and Access table. I don't see any option to correct this in the data connection process.

Your help is appreciated
0
Avatar
Shotaro Ito
モデレータ
コメントアクション Permalink

Dear kevin,

To reassign database, In Database Connection Setup, [Remove...] current database, then add a new database.
To switch database file for the same database type (such as change xls file), you can change that from Database Connection Setup > Options tab> Setup.(if it won't work, reassign database.)
To refresh field name / field order, Status tab > Refresh.

Perhaps I'm misunderstanding your question fundamentally - If you use single table in single database, you shouldn't have a join error. In that case, please ask [url="http://www.seagullscientific.com/aspx/technical-support.aspx"]Technical support[/url] by e-mail, with the btw format attached.
0
Avatar
Philip Dea
モデレータ
コメントアクション Permalink

Hi Kevin,

Can you read the below explanation regarding database join and let us know whether the 2nd type is what you want?

Using Multiple Database Tables (Join) in Bartender:

Bartender primarily uses label databases to store data for printing labels, where each 'row' in a database table corresponds to data to be printed on 1 label. When Bartender attempts to print the labels and all records are selected for printing, it will fill each label with 1 row of data from the table.

There are normally 2 reasons for having multiple database tables:
1) The 2 tables are related in some way. E.g., A health record database may be related to a driver's license database, where the related field would be the individual's identification code (ID).
2) The 2 tables are unrelated and you want to print labels from each record in 1 table (primary table), but you also want to add additional information to each label which is stored in a 2nd table (secondary table). E.g., A list of all products in your product line as the primary, and what country you are selling to for this shipment as the secondary table.

For case 1 - related join:
In such a case, each row in table 1 and table 2 must share a common ID field and configured for 'joining' so Bartender would know which row of data to print. If the ID is unique in each table (ie, there are no duplicates in the same table), then Bartender would print exactly 1 label per given ID. E.g., A health record database may be related to a driver's license database, where the related field would be the individual's identification code (ID).

However, just because the joining field is related does not mean it must be unique. E.g., table 1 can contain a list of club members (name, ID) and table 2 can contain a list of activities a member (activity, ID) has participated in. In such a case, if you configure Bartender to join based on the club member's ID, which should not be unique in the activities table because a member can participate in more than 1 activity, then when you tell Bartender to print all the records, you are telling Bartender to print a label for EACH activity a member has participated in. This means if a member participated in 2 activities, 2 labels will be printed for the member. One with the first activity and one with the 2nd activity.

As such, for this to work properly you must ensure the joining field is UNIQUE in BOTH tables if you only want to print 1 label per row. Please note, if you just want the rows in 2 different tables to correspond to each other, you can just create a "row_number" field in both files where each row number increments by 1 and join on that.

For case 2 - unrelated tables:

This is usually more common for interactive printing where you determine which record from the secondary table you want to print for each label in the primary table. E.g., A list of all products in your product line as the primary, and as secondary you want a dropdown list of countries so you can indicate where you're shipping this package to.

This can be accomplished in Bartender but not through table joining. You need to either use VB Script or other automation methods to work with Bartender to do this. E.g., Bartender can be configured (through VB Script) so during print time, for each label in the primary table, you can select from a dropdown list filled with data from your secondary table.

ログインしてコメントを残してください。