472,328 Members | 992 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,328 software developers and data experts.

Why am I getting ForeignKeyConstraint requires child key value error?

Hello,

Here is the error message;
----------------------------
Exception Message:

ForeignKeyConstraint Lkp_tbl040Cmpt_lkp302SensorType requires the child
key values (5) to exist in the parent table.
----------------------------

I am encountering this error when I try to insert records into table
'tbl040Cmpt' using the DataSet1.Tables("Table").Rows.Add(row)

The relevant data structure goes like this the table 'tbl040Cmpt'
contains a field that stores the value from lookup table
'lkp302SensorType'.
Here is the relationship that exists in the Dataset;
\\
Me.Relations.Add("Lkp_tbl040Cmpt_lkp302SensorType" ,
Me.Tables("lkp302SensorType").Columns("pkSensorTyp eId"),
Me.Tables("tbl040Cmpt").Columns("cmSmallint06"))
//
Here is the 'lkp302SensorType' lookup table;
\\
CREATE TABLE [lkp302SensorType] (
[pkSensorTypeId] [smallint] IDENTITY (1, 1) NOT NULL ,
[SensorType] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL ,
[Ord] [tinyint] NOT NULL CONSTRAINT [DF_lkp302SensorType_Ord] DEFAULT
(0),
[Hide] [bit] NOT NULL CONSTRAINT [DF_lkp302SensorType_Hide] DEFAULT
(0),
CONSTRAINT [PK_lkp302SensorType] PRIMARY KEY CLUSTERED
(
[pkSensorTypeId]
) WITH FILLFACTOR = 90 ON [PRIMARY]
) ON [PRIMARY]
GO
//
Here are table 'tbl040Cmpt'
\\
CREATE TABLE [tbl040Cmpt] (
[pkComponentId] [char] (36) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL CONSTRAINT [DF_tbl040Cmpt_pkComponentId] DEFAULT (newid()),
[fkDevice] [char] (36) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[fkComponentType] [int] NOT NULL ,
[ComponentDescription] [varchar] (100) COLLATE
SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[QuanSharingConfiguration] [tinyint] NOT NULL ,
[QuanConfigured] [tinyint] NOT NULL CONSTRAINT
[DF_tbl040Cmpt_QuanConfigured] DEFAULT (0),
[QuanActuations] [tinyint] NOT NULL CONSTRAINT
[DF_tbl040Cmpt_QuanActuations] DEFAULT (1),
[cmVarchar01] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
,
[cmVarchar02] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
,
[cmVarchar03] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
,
[cmVarchar04] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
,
[cmVarchar05] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
,
[cmVarchar06] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
,
[cmNumeric01] [numeric](5, 3) NULL ,
[cmNumeric02] [numeric](5, 3) NULL ,
[cmNumeric03] [numeric](5, 3) NULL ,
[cmNumeric04] [numeric](5, 3) NULL ,
[cmNumeric05] [numeric](5, 3) NULL ,
[cmNumeric06] [numeric](5, 3) NULL ,
[cmNumeric07] [numeric](5, 3) NULL ,
[cmBit01] [bit] NULL ,
[cmBit02] [bit] NULL ,
[cmBit03] [bit] NULL ,
[cmBit04] [bit] NULL ,
[cmBit05] [bit] NULL ,
[cmBit06] [bit] NULL ,
[cmBit07] [bit] NULL ,
[cmBit08] [bit] NULL ,
[cmBit09] [bit] NULL ,
[cmBit10] [bit] NULL ,
[cmBit11] [bit] NULL ,
[cmSmallint01] [smallint] NULL ,
[cmSmallint02] [smallint] NULL ,
[cmSmallint03] [smallint] NULL ,
[cmSmallint04] [smallint] NULL ,
[cmSmallint05] [smallint] NULL ,
[cmSmallint06] [smallint] NULL ,
[cmSmallint07] [smallint] NULL ,
[cmSmallint08] [smallint] NULL ,
[cmTinyint01] [tinyint] NULL ,
[SooOrder] [numeric](5, 3) NULL ,
[SooPrecedent] [numeric](5, 3) NULL ,
[SooDelay] [numeric](5, 3) NULL ,
[SooNote] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[cmUserNote] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL ,
[cmCreatedOn] [smalldatetime] NOT NULL ,
[cmCreatedBy] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL ,
[cmEditedOn] [smalldatetime] NOT NULL ,
[cmEditedBy] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL ,
[cmrowversion] [timestamp] NOT NULL ,
CONSTRAINT [PK_tbl040Cmpt] PRIMARY KEY CLUSTERED
(
[pkComponentId]
) WITH FILLFACTOR = 90 ON [PRIMARY] ,
CONSTRAINT [FK_tbl040Cmpt_lkp202ComponentType] FOREIGN KEY
(
[fkComponentType]
) REFERENCES [lkp202ComponentType] (
[pkComponentTypeId]
),
CONSTRAINT [FK_tbl040Cmpt_tbl030Devi] FOREIGN KEY
(
[fkDevice]
) REFERENCES [tbl030Devi] (
[pkDeviceId]
) ON DELETE CASCADE NOT FOR REPLICATION
) ON [PRIMARY]
GO
//

Here is selected code that causes the error'
\\
Private Sub InsertCylnSensor(ByVal s As String)
'Create a data row (collection of fields)
Dim row As DataRow = _dataSet1.Tables(_currentTable).NewRow
'MessageBox.Show("Insert is called for: " & s)

Try
' Data entered automatically
row("pkComponentId") = Guid.NewGuid.ToString
'row("fkDevice") = _pkDeviceIdForFkAndParameter
row("fkDevice") = f030Devi._pkDeviceIdForFkAndParameter
row("fkComponentType") = 7 'Motion sensor
' ClipDriver -
Clip Driver_1 Sensor_1 _ A(??)
row("ComponentDescription") = _
Me.txtComponentDescription.Text.ToString & _
" - " & _componentTypeNameForTitleAndCmptDescrip & "_" & s

row("QuanSharingConfiguration") = 1
row("QuanConfigured") = "0" 'This will be populated
OnSave after user enters data
'TODO - f041Cyln - InsertCylnSensor - QuanActuations -
'Propagate this on to the sensors ~ is this really necessary
row("QuanActuations") = _quanOfComponentActuations
'Propagate this on to the sensors

'TODO - f041Cyln - InsertCylnSensor - row("cmVarchar04") =
"On"
row("cmVarchar04") = "On"
row("cmVarchar06") = _pkCmptIdOfParentForSensorAndParameter

'Give all other positions a FALSE value and only the proper
position a TRUE value
' This allows proper filtering
row("cmBit01") = False 'B
row("cmBit02") = False 'D
row("cmBit04") = False 'C
row("cmBit05") = False 'A

Select Case s
Case "B"
row("cmBit01") = True 'B
Case "D"
row("cmBit02") = True 'D
Case "C"
row("cmBit04") = True 'C
Case "A"
row("cmBit05") = True 'A
End Select

row("cmBit06") = True 'PNP NON
row("cmBit07") = True 'is Motion sensor

row("cmSmallint01") = 1
'Me.cboSensorVoltage.NSelectedValue ~ (1 = 24 volt)
'cmSmallint02
'cmSmallint03
'cmSmallint04
'cmSmallint05
row("cmSmallint06") = 5 'Me.cboSensorType.NSelectedValue
~ (5 = Hall effect)
'cmSmallint07
row("cmSmallint08") = 2
'Me.cboSensorConnection.NSelectedValue ~ (2 = Micro)

row("cmUserNote") = ""
row("cmCreatedOn") = Now.ToString
row("cmCreatedBy") = SystemInformation.UserName.ToString
row("cmEditedOn") = Now.ToString
row("cmEditedBy") = SystemInformation.UserName.ToString

' The following data is entered by the user - later
'row("cmVarchar01") = ucase(Me.txtSensorIOAddress.Text)

' The following data is confirmed by the user - later
'row("cmBit06") = True 'PNP NON

Catch ane As ArgumentNullException
'The exception that is thrown when a null reference
(Nothing in Visual Basic) is passed to a method that does 'not accept
it as a valid argument.
Throw New DBAccessException("You are passing a 'Nothing' as
a parameter to a method where an actual value is required.", ane)
Catch ce As ConstraintException
'Represents the exception that is thrown when attempting an
action that violates a constraint.
Throw New DBAccessException("You have attempted an action
that violates a constraint.", ce)
Catch e As Exception
'Represents errors that occur during application execution.
Throw New DBAccessException("An unanticipated exception has
ocurred.", e)
End Try
Try
_dataSet1.Tables(_currentTable).Rows.Add(row) '<<<This
line causes the error
Catch diee As Data.InvalidExpressionException
'Represents the exception that is thrown when attempting to
add a DataColumn
Throw New DBAccessException("The data column you are
attempting to add contains an error.", diee)
Catch dsee As SyntaxErrorException
'Represents the exception that is thrown when the
Expression property of a DataColumn contains a syntax error.
Throw New DBAccessException("The data column you are
attempting to add contains a syntax error.", dsee)
Catch e As Exception
MessageBox.Show("Exception Message: " & vbCrLf & e.Message)
MessageBox.Show("Exception Source: " & vbCrLf & e.Source)
MessageBox.Show("Exception StackTrace: " & vbCrLf &
e.StackTrace)
'Represents errors that occur during application execution.
'Throw New DBAccessException("An unanticipated exception
has ocurred.", e)
End Try

End Sub
//
The error says
ForeignKeyConstraint Lkp_tbl040Cmpt_lkp302SensorType requires the child
key values (5) to exist in the parent table.

The "5" is the value that is given to the field cmSmallint06 in the
line shown here;
\\
row("cmSmallint06") = 5 'Me.cboSensorType.NSelectedValue ~ (5 =
Hall effect)
//

I don't understand why I am getting this error when I am passing the
required value. Can someone explain what might be casusing this?

(5 = Hall effect)

Please help me.

Thank you,
dbuchanan

Nov 28 '05 #1
13 9921
Dbuchan,

AFAIK, does it says that there is one or more child rows from which the
related key does not exist in your parent datatable while it does in the
child, so it cannot set the relation to the parent.

That is all.

Cor
Nov 28 '05 #2
Cor,

I am having difficulty understanding your post.

"does is says" > does it SAY

does *what* say? my code?, the error?

"one or more child rows" (?) are you saying you think the error is
about "one or more child rows" - no the error does not say anything
about one or more rows, just about child key values.
That value is (5) because that is what I assigned to it. See the code.

"related key does not exist" - no there is nothing missing in the
relationship. The relationship *is* correctly composed. If it were not
the code would not compile. I would get the squiggly lines.

It is difficult for me to understand your post. ~ There is one
relationship between the table and the lookup table for the field
'cmSmallint06'. and it is correctly composed. Please review my post
again.

Thank you,
dbuchanan

Nov 28 '05 #3
> "related key does not exist" - no there is nothing missing in the
relationship. The relationship *is* correctly composed. If it were not
the code would not compile. I would get the squiggly lines.
The relationship is indeed set correctly - atleast as far as the compiler is
concerned, but at the time you are adding the relationship to your dataset,
the dataset at that time contains certain offending rows where the foreign
key is not satisfied. The problem is not in your code, it's in the data that
is loaded in the dataset.

- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.ma.../13/63199.aspx
----------------------------------------------------------------------------

"dbuchanan" <db*********@hotmail.com> wrote in message
news:11*********************@z14g2000cwz.googlegro ups.com... Cor,

I am having difficulty understanding your post.

"does is says" > does it SAY

does *what* say? my code?, the error?

"one or more child rows" (?) are you saying you think the error is
about "one or more child rows" - no the error does not say anything
about one or more rows, just about child key values.
That value is (5) because that is what I assigned to it. See the code.

"related key does not exist" - no there is nothing missing in the
relationship. The relationship *is* correctly composed. If it were not
the code would not compile. I would get the squiggly lines.

It is difficult for me to understand your post. ~ There is one
relationship between the table and the lookup table for the field
'cmSmallint06'. and it is correctly composed. Please review my post
again.

Thank you,
dbuchanan

Nov 29 '05 #4
dbuchanan,

"does is says" > does it SAY

Can you tell me where I wrote that quoted text that you don't understand?

I cannot find it in the text, that I have showed you.

Cor
Nov 29 '05 #5
Hope your news reader can do HTML .. see below

- SM

"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message news:u9**************@TK2MSFTNGP09.phx.gbl...
Dbuchan,

AFAIK, does it says that there is one or more child rows from which the
related key does not exist in your parent datatable while it does in the
child, so it cannot set the relation to the parent.

That is all.

Cor

"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message news:en*************@TK2MSFTNGP10.phx.gbl... dbuchanan,

"does is says" > does it SAY

Can you tell me where I wrote that quoted text that you don't understand?

I cannot find it in the text, that I have showed you.

Cor

Nov 29 '05 #6
That is not what Dbuchan told that I wrote.

Cor

"Sahil Malik [MVP]" <co*****************@nospam.com> schreef in bericht news:e3**************@TK2MSFTNGP14.phx.gbl...
Hope your news reader can do HTML .. see below

- SM

"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message news:u9**************@TK2MSFTNGP09.phx.gbl...
Dbuchan,

AFAIK, does it says that there is one or more child rows from which the
related key does not exist in your parent datatable while it does in the
child, so it cannot set the relation to the parent.

That is all.

Cor

"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message news:en*************@TK2MSFTNGP10.phx.gbl... dbuchanan,

"does is says" > does it SAY

Can you tell me where I wrote that quoted text that you don't understand?

I cannot find it in the text, that I have showed you.

Cor

Nov 29 '05 #7
Sahil,

Thank you for your reply.
The problem is not in your code, it's in the data that is loaded in the dataset.


If you are saying data that is existing in the database - That is not
exactly true because the relationship is present before the data is
filled (loaded) in the form. The relationship is present before the
data is loaded - it is defined in the dataset.

The data fills (loads into) the form while the relationship in place
without an error ocurring. The error occurs at the time when a new row
is added. Here is the line that causes the error;

\\
_dataSet1.Tables(_currentTable).Rows.Add(row)
//

Because this line causes the error it seems to imply that the data I am
sending does not supply the value required to satisfy the relationship.
However the required value *is* supplied!

Below is the data I am sending (Cleaned up for clarity). I have
indicated the statement where the value is assigned to the required
field.

\\
row("pkComponentId") = Guid.NewGuid.ToString
row("fkDevice") = "39128253-37fd-4c8f-9bea-c13db0c2cacc"
row("fkComponentType") = 7
row("ComponentDescription") = "Cyl - Degate - Cyln - MSens_B"
row("QuanSharingConfiguration") = 1
row("QuanConfigured") = "0"
row("QuanActuations") = "1"
row("cmVarchar04") = "On"
row("cmVarchar04") = "On"
row("cmVarchar06") = "08795d8a-1669-4991-87ac-a6fffcb683e5"
row("cmBit01") = False
row("cmBit02") = False
row("cmBit04") = False
row("cmBit05") = False

Select Case s
Case "B"
row("cmBit01") = True
Case "D"
row("cmBit02") = True
Case "C"
row("cmBit04") = True
Case "A"
row("cmBit05") = True
End Select

row("cmBit06") = True
row("cmBit07") = True
row("cmSmallint01") = 1
row("cmSmallint06") = 5 '(5 = Hall effect) <<< This where the required
value is assigned.
row("cmSmallint08") = 2
row("cmUserNote") = ""
row("cmCreatedOn") = Now.ToString
row("cmCreatedBy") = SystemInformation.UserName.ToString
row("cmEditedOn") = Now.ToString
row("cmEditedBy") = SystemInformation.UserName.ToString
//

The question remains ~ Why am I getting this error?

dbuchanan

Nov 29 '05 #8
Okay the below code is much smaller than the previous wall of ascii, so it's
actually something I can read.

Could you verify for me if ..

cmSmallint06 <-- the datatypes of the column in both tables?
the definition of the datarelation
the fact that "5" exists in the other datatable at the moment you are trying
to add that row.

I am *quite* certain that the error is in your data, I'm just trying to zero
in on what specific data :).

If all else fails, could you help me help you by letting me recreate your
error easily at my end by

a) Right before the add(row) statement, please do
dataset1.writexml(datafile), dataset1.writexmlschema(schemafile) <-- attach
these 2 files with the reply
b) a real teenie weenie code sample, hopefully less than 15 lines ;) which
loads the above schemafile and data file in a new dataset, and attempts to
load the row - and hence recreates the error in a rather simple manner
(rather than me having to setup the database etc. on my end - hey I do have
another job) :).

Once I can recreate your world on my desktop, I think I'll be easily able to
point you to the specific error.

- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.ma.../13/63199.aspx
----------------------------------------------------------------------------

"dbuchanan" <db*********@hotmail.com> wrote in message
news:11**********************@g47g2000cwa.googlegr oups.com...
Sahil,

Thank you for your reply.
The problem is not in your code, it's in the data that is loaded in the
dataset.


If you are saying data that is existing in the database - That is not
exactly true because the relationship is present before the data is
filled (loaded) in the form. The relationship is present before the
data is loaded - it is defined in the dataset.

The data fills (loads into) the form while the relationship in place
without an error ocurring. The error occurs at the time when a new row
is added. Here is the line that causes the error;

\\
_dataSet1.Tables(_currentTable).Rows.Add(row)
//

Because this line causes the error it seems to imply that the data I am
sending does not supply the value required to satisfy the relationship.
However the required value *is* supplied!

Below is the data I am sending (Cleaned up for clarity). I have
indicated the statement where the value is assigned to the required
field.

\\
row("pkComponentId") = Guid.NewGuid.ToString
row("fkDevice") = "39128253-37fd-4c8f-9bea-c13db0c2cacc"
row("fkComponentType") = 7
row("ComponentDescription") = "Cyl - Degate - Cyln - MSens_B"
row("QuanSharingConfiguration") = 1
row("QuanConfigured") = "0"
row("QuanActuations") = "1"
row("cmVarchar04") = "On"
row("cmVarchar04") = "On"
row("cmVarchar06") = "08795d8a-1669-4991-87ac-a6fffcb683e5"
row("cmBit01") = False
row("cmBit02") = False
row("cmBit04") = False
row("cmBit05") = False

Select Case s
Case "B"
row("cmBit01") = True
Case "D"
row("cmBit02") = True
Case "C"
row("cmBit04") = True
Case "A"
row("cmBit05") = True
End Select

row("cmBit06") = True
row("cmBit07") = True
row("cmSmallint01") = 1
row("cmSmallint06") = 5 '(5 = Hall effect) <<< This where the required
value is assigned.
row("cmSmallint08") = 2
row("cmUserNote") = ""
row("cmCreatedOn") = Now.ToString
row("cmCreatedBy") = SystemInformation.UserName.ToString
row("cmEditedOn") = Now.ToString
row("cmEditedBy") = SystemInformation.UserName.ToString
//

The question remains ~ Why am I getting this error?

dbuchanan

Nov 29 '05 #9
Hi Sahil,

Here is the verification, dataset and dataschema you requested;
cmSmallint06 <-- the datatypes of the column in both tables?
Here are partial definitions for the tables;
\\
CREATE TABLE [lkp302SensorType] (
[pkSensorTypeId] [smallint] IDENTITY (1, 1) NOT NULL ,
...
//
\\
CREATE TABLE [tbl040Cmpt] (
...
[cmSmallint06] [smallint] NULL ,
...
//

the definition of the datarelation
Here is the relation
\\
Me.Relations.Add("Lkp_tbl040Cmpt_lkp302SensorType" ,
Me.Tables("lkp302SensorType").Columns("pkSensorTyp eId"),
Me.Tables("tbl040Cmpt").Columns("cmSmallint06"))
//
the fact that "5" exists in the other datatable at the moment you are trying
to add that row.


Here is the data contained in lkp302SensorType in the form of CSV;
\\
pkSensorTypeId,SensorType,Ord,Hide
1,"Bar Code",1,False
2,"Capacitive",2,False
3,"Color",3,False
4,"Diffuse",4,False
5,"Hall Effect",5,False
6,"Inductive",6,False
7,"Limit Switch",7,False
8,"Pressure",8,False
9,"Reed",9,False
10,"Retro-Reflective",10,False
11,"Through Beam",11,False
12,"Ultrasonic",12,False
//

Here is the dataset;
\\
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<tbl040Cmpt>
<pkComponentId>8bf25abb-cb5d-40ec-8e37-2baf565a3cde</pkComponentId>
<fkDevice>9fbbd7c8-a833-48a1-8036-f2fb5c02a718</fkDevice>
<fkComponentType>2</fkComponentType>
<ComponentDescription>Cyl - Clip Driver -
Cyln</ComponentDescription>
<QuanSharingConfiguration>4</QuanSharingConfiguration>
<QuanConfigured>4</QuanConfigured>
<QuanActuations>1</QuanActuations>
<cmVarchar04>(see valve)</cmVarchar04>
<cmNumeric02>1.500</cmNumeric02>
<cmNumeric03>2.000</cmNumeric03>
<cmNumeric04>0.375</cmNumeric04>
<cmNumeric05>1.000</cmNumeric05>
<cmNumeric07>3.162</cmNumeric07>
<cmBit01>false</cmBit01>
<cmBit02>false</cmBit02>
<cmBit04>true</cmBit04>
<cmBit05>false</cmBit05>
<cmBit07>true</cmBit07>
<cmBit08>true</cmBit08>
<cmBit09>false</cmBit09>
<cmBit10>true</cmBit10>
<cmSmallint05>1</cmSmallint05>
<cmTinyint01>0</cmTinyint01>
<cmUserNote />
<cmCreatedOn>2005-11-27T16:28:00.0000000-05:00</cmCreatedOn>
<cmCreatedBy>dbuchanan</cmCreatedBy>
<cmEditedOn>2005-11-27T16:28:00.0000000-05:00</cmEditedOn>
<cmEditedBy>dbuchanan</cmEditedBy>
<cmrowversion>AAAAAAAAxzI=</cmrowversion>
</tbl040Cmpt>
<lkp101PortSize>
<pkPortSizeId>7</pkPortSizeId>
<PortSize>1/8 G</PortSize>
<Ord>1</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>1</pkPortSizeId>
<PortSize>1/8 NPT</PortSize>
<Ord>1</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>2</pkPortSizeId>
<PortSize>10-32 Straight</PortSize>
<Ord>2</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>8</pkPortSizeId>
<PortSize>1/4 G</PortSize>
<Ord>3</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>3</pkPortSizeId>
<PortSize>1/4 NPT</PortSize>
<Ord>3</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>9</pkPortSizeId>
<PortSize>3/8 G</PortSize>
<Ord>4</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>4</pkPortSizeId>
<PortSize>3/8 NPT</PortSize>
<Ord>4</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>10</pkPortSizeId>
<PortSize>1/2 G</PortSize>
<Ord>5</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>5</pkPortSizeId>
<PortSize>1/2 NPT</PortSize>
<Ord>5</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>11</pkPortSizeId>
<PortSize>3/4 G</PortSize>
<Ord>6</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>6</pkPortSizeId>
<PortSize>3/4 NPT</PortSize>
<Ord>6</Ord>
<Hide>false</Hide>
</lkp101PortSize>
</NewDataSet>
//

Here is the schemafile
\\
<?xml version="1.0" standalone="yes"?>
<xs:schema id="NewDataSet" xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="tbl010Job">
<xs:complexType>
<xs:sequence>
<xs:element name="pkJobId" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="JobNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CustomerName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="35" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="JobDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="75" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ReferenceJobNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ShopPsi" type="xs:unsignedByte"
minOccurs="0" />
<xs:element name="SystemVoltage" type="xs:short"
minOccurs="0" />
<xs:element name="SystemPhase" type="xs:short"
minOccurs="0" />
<xs:element name="SystemAmps" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="HasCircuitBreakersYN" type="xs:boolean"
/>
<xs:element name="AllProcessesAddedYN" type="xs:boolean"
/>
<xs:element name="AllTasksAddedYN" type="xs:boolean" />
<xs:element name="AllProcessesConfiguredYN"
type="xs:boolean" />
<xs:element name="ApprovedYN" type="xs:boolean" />
<xs:element name="CompletedYN" type="xs:boolean" />
<xs:element name="IsMasterYN" type="xs:boolean" />
<xs:element name="Archive" type="xs:boolean" />
<xs:element name="jcUserNote">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="jcCreatedOn" type="xs:dateTime" />
<xs:element name="jcCreatedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="jcEditedOn" type="xs:dateTime" />
<xs:element name="jcEditedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="jcrowversion" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tbl020Proc">
<xs:complexType>
<xs:sequence>
<xs:element name="pkProcessId" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkJob">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkDeviceType" type="xs:int" />
<xs:element name="QuanIndividualProcesses"
type="xs:unsignedByte" />
<xs:element name="QuanIndividualProcessesConfigured"
type="xs:unsignedByte" />
<xs:element name="mpUserNote">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="mpCreatedOn" type="xs:dateTime" />
<xs:element name="mpCreatedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="mpEditedOn" type="xs:dateTime" />
<xs:element name="mpEditedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="mprowversion" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tbl030Devi">
<xs:complexType>
<xs:sequence>
<xs:element name="pkDeviceId" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkProcess">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DeviceDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QuanOfActuations"
type="xs:unsignedByte" />
<xs:element name="CustomDeviceYN" type="xs:boolean" />
<xs:element name="QuanCylinders" type="xs:unsignedByte"
/>
<xs:element name="QuanValves" type="xs:unsignedByte" />
<xs:element name="QuanSensors" type="xs:unsignedByte" />
<xs:element name="QuanAirServices" type="xs:unsignedByte"
/>
<xs:element name="QuanElectServices"
type="xs:unsignedByte" />
<xs:element name="QuanHMIs" type="xs:unsignedByte" />
<xs:element name="QuanCylindersConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanValvesConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanSensorsConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanAirServicesConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanElectServicesConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanHMIsConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanMotionSensorsConfigured"
type="xs:unsignedByte" />
<xs:element name="DeviceConfigCompleteYN"
type="xs:boolean" />
<xs:element name="dsUserNote">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="dsCreatedOn" type="xs:dateTime" />
<xs:element name="dsCreatedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="dsEditedOn" type="xs:dateTime" />
<xs:element name="dsEditedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="dsrowversion" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tbl040Cmpt">
<xs:complexType>
<xs:sequence>
<xs:element name="pkComponentId" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkDevice">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkComponentType" type="xs:int" />
<xs:element name="ComponentDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QuanSharingConfiguration"
type="xs:unsignedByte" />
<xs:element name="QuanConfigured" type="xs:unsignedByte"
/>
<xs:element name="QuanActuations" type="xs:unsignedByte"
/>
<xs:element name="cmVarchar01" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmVarchar02" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmVarchar03" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmVarchar04" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmVarchar05" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmVarchar06" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmNumeric01" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric02" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric03" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric04" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric05" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric06" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric07" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmBit01" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit02" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit03" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit04" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit05" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit06" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit07" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit08" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit09" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit10" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit11" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmSmallint01" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint02" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint03" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint04" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint05" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint06" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint07" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint08" type="xs:short"
minOccurs="0" />
<xs:element name="cmTinyint01" type="xs:short"
minOccurs="0" />
<xs:element name="SooOrder" type="xs:decimal"
minOccurs="0" />
<xs:element name="SooPrecedent" type="xs:decimal"
minOccurs="0" />
<xs:element name="SooDelay" type="xs:decimal"
minOccurs="0" />
<xs:element name="SooNote" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmUserNote">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmCreatedOn" type="xs:dateTime" />
<xs:element name="cmCreatedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmEditedOn" type="xs:dateTime" />
<xs:element name="cmEditedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmrowversion" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tbl050Oper">
<xs:complexType>
<xs:sequence>
<xs:element name="pkOperId" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqfkJob">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqComponentDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqAction" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqDuration" type="xs:decimal"
minOccurs="0" />
<xs:element name="sqSooOrder" type="xs:decimal"
minOccurs="0" />
<xs:element name="sqSooPrecedent" type="xs:decimal"
minOccurs="0" />
<xs:element name="sqSooDelay" type="xs:decimal"
minOccurs="0" />
<xs:element name="sqIOAddress" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqSooNote" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqCreatedOn" type="xs:dateTime" />
<xs:element name="sqCreatedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqEditedOn" type="xs:dateTime" />
<xs:element name="sqEditedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqrowversion" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tblUnion1">
<xs:complexType>
<xs:sequence>
<xs:element name="pkID_u1" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkJob_u1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="tbl_u1" type="xs:short" />
<xs:element name="cmptDescription_u1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Action_u1" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Duration_u1" type="xs:decimal"
minOccurs="0" />
<xs:element name="Order_u1" type="xs:decimal"
minOccurs="0" />
<xs:element name="Precedent_u1" type="xs:unsignedByte"
minOccurs="0" />
<xs:element name="Delay_u1" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="IOAddress_u1" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Note_u1" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CreatedOn_u1" type="xs:dateTime" />
<xs:element name="CreatedBy_u1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EditedOn_u1" type="xs:dateTime" />
<xs:element name="EditedBy_u1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="rowversion_u1" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tblUseAudit">
<xs:complexType>
<xs:sequence>
<xs:element name="ClipUser">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Computer" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ClipVersion">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DateTime" type="xs:dateTime" />
<xs:element name="Selection">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lst00MasterList">
<xs:complexType>
<xs:sequence>
<xs:element name="pkMasterListId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:int" />
<xs:element name="TableName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FriendlyName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="UserInstruction" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lst002ViewList">
<xs:complexType>
<xs:sequence>
<xs:element name="pkViewListId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:int" />
<xs:element name="ViewName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="prefix">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp101PortSize">
<xs:complexType>
<xs:sequence>
<xs:element name="pkPortSizeId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="PortSize">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp102Phase">
<xs:complexType>
<xs:sequence>
<xs:element name="pkPhaseId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="Phase">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp103SensorConnection">
<xs:complexType>
<xs:sequence>
<xs:element name="pkSensorConnectionId"
msdata:ReadOnly="true" msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1"
type="xs:short" />
<xs:element name="SensorConnection">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp104Voltage">
<xs:complexType>
<xs:sequence>
<xs:element name="pkVoltageId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="Voltage">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp105PanelLocation">
<xs:complexType>
<xs:sequence>
<xs:element name="pkPanelLocationId"
msdata:ReadOnly="true" msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1"
type="xs:short" />
<xs:element name="PanelLocation">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp201DeviceType">
<xs:complexType>
<xs:sequence>
<xs:element name="pkDeviceTypeId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:int" />
<xs:element name="DeviceName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Prefix">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Valve" type="xs:boolean" />
<xs:element name="Cylinder" type="xs:boolean" />
<xs:element name="Sensors" type="xs:boolean" />
<xs:element name="AirServ" type="xs:boolean" />
<xs:element name="ElecServ" type="xs:boolean" />
<xs:element name="HMI" type="xs:boolean" />
<xs:element name="Note">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp202ComponentType">
<xs:complexType>
<xs:sequence>
<xs:element name="pkComponentTypeId"
msdata:ReadOnly="true" msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1"
type="xs:int" />
<xs:element name="ComponentName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Prefix">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp301ValveType">
<xs:complexType>
<xs:sequence>
<xs:element name="pkValveTypeId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="ValveType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp302SensorType">
<xs:complexType>
<xs:sequence>
<xs:element name="pkSensorTypeId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="SensorType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp303HmiType">
<xs:complexType>
<xs:sequence>
<xs:element name="pkHmiTypeId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="HmiType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ION">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tbl010Job" />
<xs:field xpath="pkJobId" />
</xs:unique>
<xs:unique name="tbl020Proc_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tbl020Proc" />
<xs:field xpath="pkProcessId" />
</xs:unique>
<xs:unique name="tbl030Devi_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tbl030Devi" />
<xs:field xpath="pkDeviceId" />
</xs:unique>
<xs:unique name="tbl040Cmpt_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="pkComponentId" />
</xs:unique>
<xs:unique name="tbl050Oper_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tbl050Oper" />
<xs:field xpath="pkOperId" />
</xs:unique>
<xs:unique name="tblUnion1_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tblUnion1" />
<xs:field xpath="pkID_u1" />
</xs:unique>
<xs:unique name="lst00MasterList_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lst00MasterList" />
<xs:field xpath="pkMasterListId" />
</xs:unique>
<xs:unique name="lst002ViewList_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lst002ViewList" />
<xs:field xpath="pkViewListId" />
</xs:unique>
<xs:unique name="lkp101PortSize_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp101PortSize" />
<xs:field xpath="pkPortSizeId" />
</xs:unique>
<xs:unique name="lkp102Phase_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp102Phase" />
<xs:field xpath="pkPhaseId" />
</xs:unique>
<xs:unique name="lkp103SensorConnection_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp103SensorConnection" />
<xs:field xpath="pkSensorConnectionId" />
</xs:unique>
<xs:unique name="lkp104Voltage_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp104Voltage" />
<xs:field xpath="pkVoltageId" />
</xs:unique>
<xs:unique name="lkp105PanelLocation_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp105PanelLocation" />
<xs:field xpath="pkPanelLocationId" />
</xs:unique>
<xs:unique name="lkp201DeviceType_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp201DeviceType" />
<xs:field xpath="pkDeviceTypeId" />
</xs:unique>
<xs:unique name="lkp202ComponentType_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp202ComponentType" />
<xs:field xpath="pkComponentTypeId" />
</xs:unique>
<xs:unique name="lkp301ValveType_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp301ValveType" />
<xs:field xpath="pkValveTypeId" />
</xs:unique>
<xs:unique name="lkp302SensorType_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp302SensorType" />
<xs:field xpath="pkSensorTypeId" />
</xs:unique>
<xs:unique name="lkp303HmiType_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp303HmiType" />
<xs:field xpath="pkHmiTypeId" />
</xs:unique>
<xs:keyref name="Lkp_tbl040Cmpt_lkp103SensorConnection"
refer="lkp103SensorConnection_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint08" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp303HmiType"
refer="lkp303HmiType_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint07" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp302SensorType"
refer="lkp302SensorType_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint06" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp101PortSize"
refer="lkp101PortSize_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint05" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp301ValveType"
refer="lkp301ValveType_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint04" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp105PanelLocation"
refer="lkp105PanelLocation_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint03" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp102Phase"
refer="lkp102Phase_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint02" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp104Voltage"
refer="lkp104Voltage_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint01" />
</xs:keyref>
<xs:keyref name="FK_tbl020Proc_lkp201DeviceType"
refer="lkp201DeviceType_Constraint1">
<xs:selector xpath=".//tbl020Proc" />
<xs:field xpath="fkDeviceType" />
</xs:keyref>
<xs:keyref name="FK_tbl010Job_lkp102Phase"
refer="lkp102Phase_Constraint1">
<xs:selector xpath=".//tbl010Job" />
<xs:field xpath="SystemPhase" />
</xs:keyref>
<xs:keyref name="FK_tbl010Job_lkp104Voltage"
refer="lkp104Voltage_Constraint1">
<xs:selector xpath=".//tbl010Job" />
<xs:field xpath="SystemVoltage" />
</xs:keyref>
</xs:element>
</xs:schema>
//

Thank you,
dbuchanan

Nov 29 '05 #10
Fantastico .. I'm at work right now .. let me get home and look this over.
BTW, the data schema has *nothing* to do with Dataset - but I'm guessing you
already knew that :)

- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.ma.../13/63199.aspx
----------------------------------------------------------------------------
"dbuchanan" <db*********@hotmail.com> wrote in message
news:11**********************@g43g2000cwa.googlegr oups.com...
Hi Sahil,

Here is the verification, dataset and dataschema you requested;
cmSmallint06 <-- the datatypes of the column in both tables?


Here are partial definitions for the tables;
\\
CREATE TABLE [lkp302SensorType] (
[pkSensorTypeId] [smallint] IDENTITY (1, 1) NOT NULL ,
...
//
\\
CREATE TABLE [tbl040Cmpt] (
...
[cmSmallint06] [smallint] NULL ,
...
//

the definition of the datarelation


Here is the relation
\\
Me.Relations.Add("Lkp_tbl040Cmpt_lkp302SensorType" ,
Me.Tables("lkp302SensorType").Columns("pkSensorTyp eId"),
Me.Tables("tbl040Cmpt").Columns("cmSmallint06"))
//
the fact that "5" exists in the other datatable at the moment you are
trying
to add that row.


Here is the data contained in lkp302SensorType in the form of CSV;
\\
pkSensorTypeId,SensorType,Ord,Hide
1,"Bar Code",1,False
2,"Capacitive",2,False
3,"Color",3,False
4,"Diffuse",4,False
5,"Hall Effect",5,False
6,"Inductive",6,False
7,"Limit Switch",7,False
8,"Pressure",8,False
9,"Reed",9,False
10,"Retro-Reflective",10,False
11,"Through Beam",11,False
12,"Ultrasonic",12,False
//

Here is the dataset;
\\
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<tbl040Cmpt>
<pkComponentId>8bf25abb-cb5d-40ec-8e37-2baf565a3cde</pkComponentId>
<fkDevice>9fbbd7c8-a833-48a1-8036-f2fb5c02a718</fkDevice>
<fkComponentType>2</fkComponentType>
<ComponentDescription>Cyl - Clip Driver -
Cyln</ComponentDescription>
<QuanSharingConfiguration>4</QuanSharingConfiguration>
<QuanConfigured>4</QuanConfigured>
<QuanActuations>1</QuanActuations>
<cmVarchar04>(see valve)</cmVarchar04>
<cmNumeric02>1.500</cmNumeric02>
<cmNumeric03>2.000</cmNumeric03>
<cmNumeric04>0.375</cmNumeric04>
<cmNumeric05>1.000</cmNumeric05>
<cmNumeric07>3.162</cmNumeric07>
<cmBit01>false</cmBit01>
<cmBit02>false</cmBit02>
<cmBit04>true</cmBit04>
<cmBit05>false</cmBit05>
<cmBit07>true</cmBit07>
<cmBit08>true</cmBit08>
<cmBit09>false</cmBit09>
<cmBit10>true</cmBit10>
<cmSmallint05>1</cmSmallint05>
<cmTinyint01>0</cmTinyint01>
<cmUserNote />
<cmCreatedOn>2005-11-27T16:28:00.0000000-05:00</cmCreatedOn>
<cmCreatedBy>dbuchanan</cmCreatedBy>
<cmEditedOn>2005-11-27T16:28:00.0000000-05:00</cmEditedOn>
<cmEditedBy>dbuchanan</cmEditedBy>
<cmrowversion>AAAAAAAAxzI=</cmrowversion>
</tbl040Cmpt>
<lkp101PortSize>
<pkPortSizeId>7</pkPortSizeId>
<PortSize>1/8 G</PortSize>
<Ord>1</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>1</pkPortSizeId>
<PortSize>1/8 NPT</PortSize>
<Ord>1</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>2</pkPortSizeId>
<PortSize>10-32 Straight</PortSize>
<Ord>2</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>8</pkPortSizeId>
<PortSize>1/4 G</PortSize>
<Ord>3</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>3</pkPortSizeId>
<PortSize>1/4 NPT</PortSize>
<Ord>3</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>9</pkPortSizeId>
<PortSize>3/8 G</PortSize>
<Ord>4</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>4</pkPortSizeId>
<PortSize>3/8 NPT</PortSize>
<Ord>4</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>10</pkPortSizeId>
<PortSize>1/2 G</PortSize>
<Ord>5</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>5</pkPortSizeId>
<PortSize>1/2 NPT</PortSize>
<Ord>5</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>11</pkPortSizeId>
<PortSize>3/4 G</PortSize>
<Ord>6</Ord>
<Hide>false</Hide>
</lkp101PortSize>
<lkp101PortSize>
<pkPortSizeId>6</pkPortSizeId>
<PortSize>3/4 NPT</PortSize>
<Ord>6</Ord>
<Hide>false</Hide>
</lkp101PortSize>
</NewDataSet>
//

Here is the schemafile
\\
<?xml version="1.0" standalone="yes"?>
<xs:schema id="NewDataSet" xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="tbl010Job">
<xs:complexType>
<xs:sequence>
<xs:element name="pkJobId" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="JobNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CustomerName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="35" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="JobDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="75" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ReferenceJobNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ShopPsi" type="xs:unsignedByte"
minOccurs="0" />
<xs:element name="SystemVoltage" type="xs:short"
minOccurs="0" />
<xs:element name="SystemPhase" type="xs:short"
minOccurs="0" />
<xs:element name="SystemAmps" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="HasCircuitBreakersYN" type="xs:boolean"
/>
<xs:element name="AllProcessesAddedYN" type="xs:boolean"
/>
<xs:element name="AllTasksAddedYN" type="xs:boolean" />
<xs:element name="AllProcessesConfiguredYN"
type="xs:boolean" />
<xs:element name="ApprovedYN" type="xs:boolean" />
<xs:element name="CompletedYN" type="xs:boolean" />
<xs:element name="IsMasterYN" type="xs:boolean" />
<xs:element name="Archive" type="xs:boolean" />
<xs:element name="jcUserNote">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="jcCreatedOn" type="xs:dateTime" />
<xs:element name="jcCreatedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="jcEditedOn" type="xs:dateTime" />
<xs:element name="jcEditedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="jcrowversion" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tbl020Proc">
<xs:complexType>
<xs:sequence>
<xs:element name="pkProcessId" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkJob">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkDeviceType" type="xs:int" />
<xs:element name="QuanIndividualProcesses"
type="xs:unsignedByte" />
<xs:element name="QuanIndividualProcessesConfigured"
type="xs:unsignedByte" />
<xs:element name="mpUserNote">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="mpCreatedOn" type="xs:dateTime" />
<xs:element name="mpCreatedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="mpEditedOn" type="xs:dateTime" />
<xs:element name="mpEditedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="mprowversion" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tbl030Devi">
<xs:complexType>
<xs:sequence>
<xs:element name="pkDeviceId" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkProcess">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DeviceDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QuanOfActuations"
type="xs:unsignedByte" />
<xs:element name="CustomDeviceYN" type="xs:boolean" />
<xs:element name="QuanCylinders" type="xs:unsignedByte"
/>
<xs:element name="QuanValves" type="xs:unsignedByte" />
<xs:element name="QuanSensors" type="xs:unsignedByte" />
<xs:element name="QuanAirServices" type="xs:unsignedByte"
/>
<xs:element name="QuanElectServices"
type="xs:unsignedByte" />
<xs:element name="QuanHMIs" type="xs:unsignedByte" />
<xs:element name="QuanCylindersConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanValvesConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanSensorsConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanAirServicesConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanElectServicesConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanHMIsConfigured"
type="xs:unsignedByte" />
<xs:element name="QuanMotionSensorsConfigured"
type="xs:unsignedByte" />
<xs:element name="DeviceConfigCompleteYN"
type="xs:boolean" />
<xs:element name="dsUserNote">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="dsCreatedOn" type="xs:dateTime" />
<xs:element name="dsCreatedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="dsEditedOn" type="xs:dateTime" />
<xs:element name="dsEditedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="dsrowversion" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tbl040Cmpt">
<xs:complexType>
<xs:sequence>
<xs:element name="pkComponentId" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkDevice">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkComponentType" type="xs:int" />
<xs:element name="ComponentDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QuanSharingConfiguration"
type="xs:unsignedByte" />
<xs:element name="QuanConfigured" type="xs:unsignedByte"
/>
<xs:element name="QuanActuations" type="xs:unsignedByte"
/>
<xs:element name="cmVarchar01" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmVarchar02" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmVarchar03" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmVarchar04" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmVarchar05" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmVarchar06" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmNumeric01" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric02" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric03" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric04" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric05" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric06" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmNumeric07" type="xs:decimal"
minOccurs="0" />
<xs:element name="cmBit01" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit02" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit03" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit04" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit05" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit06" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit07" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit08" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit09" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit10" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmBit11" type="xs:boolean"
minOccurs="0" />
<xs:element name="cmSmallint01" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint02" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint03" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint04" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint05" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint06" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint07" type="xs:short"
minOccurs="0" />
<xs:element name="cmSmallint08" type="xs:short"
minOccurs="0" />
<xs:element name="cmTinyint01" type="xs:short"
minOccurs="0" />
<xs:element name="SooOrder" type="xs:decimal"
minOccurs="0" />
<xs:element name="SooPrecedent" type="xs:decimal"
minOccurs="0" />
<xs:element name="SooDelay" type="xs:decimal"
minOccurs="0" />
<xs:element name="SooNote" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmUserNote">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmCreatedOn" type="xs:dateTime" />
<xs:element name="cmCreatedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmEditedOn" type="xs:dateTime" />
<xs:element name="cmEditedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cmrowversion" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tbl050Oper">
<xs:complexType>
<xs:sequence>
<xs:element name="pkOperId" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqfkJob">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqComponentDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqAction" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqDuration" type="xs:decimal"
minOccurs="0" />
<xs:element name="sqSooOrder" type="xs:decimal"
minOccurs="0" />
<xs:element name="sqSooPrecedent" type="xs:decimal"
minOccurs="0" />
<xs:element name="sqSooDelay" type="xs:decimal"
minOccurs="0" />
<xs:element name="sqIOAddress" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqSooNote" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqCreatedOn" type="xs:dateTime" />
<xs:element name="sqCreatedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqEditedOn" type="xs:dateTime" />
<xs:element name="sqEditedBy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sqrowversion" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tblUnion1">
<xs:complexType>
<xs:sequence>
<xs:element name="pkID_u1" msdata:ReadOnly="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fkJob_u1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="tbl_u1" type="xs:short" />
<xs:element name="cmptDescription_u1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Action_u1" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Duration_u1" type="xs:decimal"
minOccurs="0" />
<xs:element name="Order_u1" type="xs:decimal"
minOccurs="0" />
<xs:element name="Precedent_u1" type="xs:unsignedByte"
minOccurs="0" />
<xs:element name="Delay_u1" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="IOAddress_u1" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Note_u1" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CreatedOn_u1" type="xs:dateTime" />
<xs:element name="CreatedBy_u1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EditedOn_u1" type="xs:dateTime" />
<xs:element name="EditedBy_u1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="rowversion_u1" type="xs:base64Binary"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tblUseAudit">
<xs:complexType>
<xs:sequence>
<xs:element name="ClipUser">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Computer" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ClipVersion">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DateTime" type="xs:dateTime" />
<xs:element name="Selection">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lst00MasterList">
<xs:complexType>
<xs:sequence>
<xs:element name="pkMasterListId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:int" />
<xs:element name="TableName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FriendlyName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="UserInstruction" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lst002ViewList">
<xs:complexType>
<xs:sequence>
<xs:element name="pkViewListId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:int" />
<xs:element name="ViewName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="prefix">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp101PortSize">
<xs:complexType>
<xs:sequence>
<xs:element name="pkPortSizeId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="PortSize">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp102Phase">
<xs:complexType>
<xs:sequence>
<xs:element name="pkPhaseId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="Phase">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp103SensorConnection">
<xs:complexType>
<xs:sequence>
<xs:element name="pkSensorConnectionId"
msdata:ReadOnly="true" msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1"
type="xs:short" />
<xs:element name="SensorConnection">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp104Voltage">
<xs:complexType>
<xs:sequence>
<xs:element name="pkVoltageId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="Voltage">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp105PanelLocation">
<xs:complexType>
<xs:sequence>
<xs:element name="pkPanelLocationId"
msdata:ReadOnly="true" msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1"
type="xs:short" />
<xs:element name="PanelLocation">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp201DeviceType">
<xs:complexType>
<xs:sequence>
<xs:element name="pkDeviceTypeId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:int" />
<xs:element name="DeviceName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Prefix">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Valve" type="xs:boolean" />
<xs:element name="Cylinder" type="xs:boolean" />
<xs:element name="Sensors" type="xs:boolean" />
<xs:element name="AirServ" type="xs:boolean" />
<xs:element name="ElecServ" type="xs:boolean" />
<xs:element name="HMI" type="xs:boolean" />
<xs:element name="Note">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp202ComponentType">
<xs:complexType>
<xs:sequence>
<xs:element name="pkComponentTypeId"
msdata:ReadOnly="true" msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1"
type="xs:int" />
<xs:element name="ComponentName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Prefix">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp301ValveType">
<xs:complexType>
<xs:sequence>
<xs:element name="pkValveTypeId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="ValveType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp302SensorType">
<xs:complexType>
<xs:sequence>
<xs:element name="pkSensorTypeId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="SensorType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lkp303HmiType">
<xs:complexType>
<xs:sequence>
<xs:element name="pkHmiTypeId" msdata:ReadOnly="true"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" type="xs:short" />
<xs:element name="HmiType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ION">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ord" type="xs:unsignedByte" />
<xs:element name="Hide" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tbl010Job" />
<xs:field xpath="pkJobId" />
</xs:unique>
<xs:unique name="tbl020Proc_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tbl020Proc" />
<xs:field xpath="pkProcessId" />
</xs:unique>
<xs:unique name="tbl030Devi_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tbl030Devi" />
<xs:field xpath="pkDeviceId" />
</xs:unique>
<xs:unique name="tbl040Cmpt_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="pkComponentId" />
</xs:unique>
<xs:unique name="tbl050Oper_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tbl050Oper" />
<xs:field xpath="pkOperId" />
</xs:unique>
<xs:unique name="tblUnion1_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tblUnion1" />
<xs:field xpath="pkID_u1" />
</xs:unique>
<xs:unique name="lst00MasterList_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lst00MasterList" />
<xs:field xpath="pkMasterListId" />
</xs:unique>
<xs:unique name="lst002ViewList_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lst002ViewList" />
<xs:field xpath="pkViewListId" />
</xs:unique>
<xs:unique name="lkp101PortSize_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp101PortSize" />
<xs:field xpath="pkPortSizeId" />
</xs:unique>
<xs:unique name="lkp102Phase_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp102Phase" />
<xs:field xpath="pkPhaseId" />
</xs:unique>
<xs:unique name="lkp103SensorConnection_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp103SensorConnection" />
<xs:field xpath="pkSensorConnectionId" />
</xs:unique>
<xs:unique name="lkp104Voltage_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp104Voltage" />
<xs:field xpath="pkVoltageId" />
</xs:unique>
<xs:unique name="lkp105PanelLocation_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp105PanelLocation" />
<xs:field xpath="pkPanelLocationId" />
</xs:unique>
<xs:unique name="lkp201DeviceType_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp201DeviceType" />
<xs:field xpath="pkDeviceTypeId" />
</xs:unique>
<xs:unique name="lkp202ComponentType_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp202ComponentType" />
<xs:field xpath="pkComponentTypeId" />
</xs:unique>
<xs:unique name="lkp301ValveType_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp301ValveType" />
<xs:field xpath="pkValveTypeId" />
</xs:unique>
<xs:unique name="lkp302SensorType_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp302SensorType" />
<xs:field xpath="pkSensorTypeId" />
</xs:unique>
<xs:unique name="lkp303HmiType_Constraint1"
msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//lkp303HmiType" />
<xs:field xpath="pkHmiTypeId" />
</xs:unique>
<xs:keyref name="Lkp_tbl040Cmpt_lkp103SensorConnection"
refer="lkp103SensorConnection_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint08" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp303HmiType"
refer="lkp303HmiType_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint07" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp302SensorType"
refer="lkp302SensorType_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint06" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp101PortSize"
refer="lkp101PortSize_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint05" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp301ValveType"
refer="lkp301ValveType_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint04" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp105PanelLocation"
refer="lkp105PanelLocation_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint03" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp102Phase"
refer="lkp102Phase_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint02" />
</xs:keyref>
<xs:keyref name="Lkp_tbl040Cmpt_lkp104Voltage"
refer="lkp104Voltage_Constraint1">
<xs:selector xpath=".//tbl040Cmpt" />
<xs:field xpath="cmSmallint01" />
</xs:keyref>
<xs:keyref name="FK_tbl020Proc_lkp201DeviceType"
refer="lkp201DeviceType_Constraint1">
<xs:selector xpath=".//tbl020Proc" />
<xs:field xpath="fkDeviceType" />
</xs:keyref>
<xs:keyref name="FK_tbl010Job_lkp102Phase"
refer="lkp102Phase_Constraint1">
<xs:selector xpath=".//tbl010Job" />
<xs:field xpath="SystemPhase" />
</xs:keyref>
<xs:keyref name="FK_tbl010Job_lkp104Voltage"
refer="lkp104Voltage_Constraint1">
<xs:selector xpath=".//tbl010Job" />
<xs:field xpath="SystemVoltage" />
</xs:keyref>
</xs:element>
</xs:schema>
//

Thank you,
dbuchanan

Nov 29 '05 #11
Sahil,

Looking forward to what you find.

Thank you,
dbuchanan

Nov 29 '05 #12
Sahil,

I found the problem. I overlooked the fact that though the child key
value existed in the database the dataset table had not been filled.

dbuchanan

Dec 5 '05 #13
Awesome. :)
--

- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.ma.../13/63199.aspx
----------------------------------------------------------------------------

"dbuchanan" <db*********@hotmail.com> wrote in message
news:11*********************@g43g2000cwa.googlegro ups.com...
Sahil,

I found the problem. I overlooked the fact that though the child key
value existed in the database the dataset table had not been filled.

dbuchanan

Dec 5 '05 #14

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

10
by: fotzor | last post by:
Hi, I'm a C++-Programmer and want to subclass the Edit used to write a SQL-Query in Access. The edit is of the special Access class OKttbx....
2
by: Sam | last post by:
In our C++ program, we are using the system call to execute another C++ program synchronously. The program executed by system runs without error...
0
by: Benny Raymond | last post by:
reply to: benny@pocketrocks.com if possible: I'm trying to set up a hierarchy system in this database where each row can be related to a previous...
1
by: jaYPee | last post by:
I have created 3 sqldataadapter. each adapter.selectcommand has a parameter. I have added a textbox to supply a value for each parameter. My...
4
by: eBob.com | last post by:
I have a "parent" form (if that's the right terminology), Form1. I declare two public values in the parent form : Public Class Form1 Inherits...
3
by: PAUL | last post by:
Hello, I have 2 datasets I am trying to update. The parent table seems to update fine but when I go update the chiled table I get an error message...
5
by: PAUL | last post by:
Hello, I have 2 tables with a relationship set up in the dataset with vb ..net. I add a new record to the parent table then edit an existing child...
1
by: Lyle Fairfield | last post by:
Option Explicit ' requires VBScript to be installed ' (maybe don't give this to your sugnificant other as ' it gets deleted addresses as well as...
27
by: max | last post by:
Hello, I am a newbye, and I'm trying to write a simple application. I have five tables with three columns; all tables are identical; I need to...
0
by: tammygombez | last post by:
Hey everyone! I've been researching gaming laptops lately, and I must say, they can get pretty expensive. However, I've come across some great...
0
better678
by: better678 | last post by:
Question: Discuss your understanding of the Java platform. Is the statement "Java is interpreted" correct? Answer: Java is an object-oriented...
0
by: teenabhardwaj | last post by:
How would one discover a valid source for learning news, comfort, and help for engineering designs? Covering through piles of books takes a lot of...
0
by: CD Tom | last post by:
This happens in runtime 2013 and 2016. When a report is run and then closed a toolbar shows up and the only way to get it to go away is to right...
0
jalbright99669
by: jalbright99669 | last post by:
Am having a bit of a time with URL Rewrite. I need to incorporate http to https redirect with a reverse proxy. I have the URL Rewrite rules made...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was...
0
by: Matthew3360 | last post by:
Hi there. I have been struggling to find out how to use a variable as my location in my header redirect function. Here is my code. ...
1
by: Matthew3360 | last post by:
Hi, I have a python app that i want to be able to get variables from a php page on my webserver. My python app is on my computer. How would I make it...
0
by: AndyPSV | last post by:
HOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and on my computerHOW CAN I CREATE AN AI with an .executable...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.