Hello Gustavo,
Here is a snippet of code that may help. You will likely have to live with
the long string that is difficult to edit as you can see from the code.
Do Until ActiveCell.Value = ""
Counter = Counter + 1
Application.StatusBar = "Finding data for Lot " & Counter & " of " &
BatchCount & " Lots. "
Workbooks("new edi.xls").Activate
Sheets("Shipments").Activate
ItemNo = Left(ActiveCell.Value, 5) & Right(ActiveCell.Value, 2)
PartNo = ActiveCell.Value
LotNo = Trim(ActiveCell.Offset(0, 1).Value)
' Open connection
cntSQL.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist
Security Info=False;Initial Catalog=testsql;Data Source=SQL"
sSQL = "SELECT DESC_DAT.F_NAME, SGRP_EXT.F_TSNO, SGRP_EXT.F_VAL,
TEST_DAT.F_NAME, SPEC_LIM.F_USL, SPEC_LIM.F_TAR, SPEC_LIM.F_LSL FROM
att.dbo.DESC_DAT DESC_DAT, att.dbo.DESC_GRP DESC_GRP, att.dbo.PART_DAT
PART_DAT, att.dbo.PRCS_DAT PRCS_DAT, att.dbo.SGRP_DSC SGRP_DSC,
att.dbo.SGRP_EXT SGRP_EXT, att.dbo.SPEC_LIM SPEC_LIM, att.dbo.TEST_DAT
TEST_DAT WHERE DESC_DAT.F_DESC = SGRP_DSC.F_DESC AND SGRP_EXT.F_SGRP =
SGRP_DSC.F_SGRP AND PART_DAT.F_PART = SGRP_EXT.F_PART AND TEST_DAT.F_TEST =
SGRP_EXT.F_TEST AND DESC_DAT.F_DSGP = DESC_GRP.F_DSGP AND PRCS_DAT.F_PRCS =
SGRP_EXT.F_PRCS AND SPEC_LIM.F_PART = PART_DAT.F_PART AND SPEC_LIM.F_TEST =
TEST_DAT.F_TEST AND (PRCS_DAT.F_NAME In ('Attachment Final Dimensions','Arm
IP Production Dims','BP IP Production Dims','BP XIP Production Dims')) AND
DESC_DAT.F_NAME='" & LotNo & "' AND PART_DAT.F_NAME='" & PartNo & "'"
'execute the SQL query
Set cmdSQL.ActiveConnection = cntSQL
cmdSQL.CommandText = sSQL
Set rstSQL = cmdSQL.Execute()
If rstSQL.EOF = True Then sSQL = "SELECT DESC_DAT.F_NAME,
SGRP_EXT.F_TSNO, SGRP_EXT.F_VAL, TEST_DAT.F_NAME, SPEC_LIM.F_USL,
SPEC_LIM.F_TAR, SPEC_LIM.F_LSL FROM att.dbo.DESC_DAT DESC_DAT,
att.dbo.DESC_GRP DESC_GRP, att.dbo.PART_DAT PART_DAT, att.dbo.PRCS_DAT
PRCS_DAT, att.dbo.SGRP_DSC SGRP_DSC, att.dbo.SGRP_EXT SGRP_EXT,
att.dbo.SPEC_LIM SPEC_LIM, att.dbo.TEST_DAT TEST_DAT WHERE DESC_DAT.F_DESC =
SGRP_DSC.F_DESC AND SGRP_EXT.F_SGRP = SGRP_DSC.F_SGRP AND PART_DAT.F_PART =
SGRP_EXT.F_PART AND TEST_DAT.F_TEST = SGRP_EXT.F_TEST AND DESC_DAT.F_DSGP =
DESC_GRP.F_DSGP AND PRCS_DAT.F_PRCS = SGRP_EXT.F_PRCS AND SPEC_LIM.F_PART =
PART_DAT.F_PART AND SPEC_LIM.F_TEST = TEST_DAT.F_TEST AND (PRCS_DAT.F_NAME
In ('Attachment Final Dimensions','Arm IP Production Dims','BP IP Production
Dims','BP XIP Production Dims')) AND DESC_DAT.F_NAME='" & Left(LotNo, 7) &
"' AND PART_DAT.F_NAME='" & PartNo & "'"
Set cmdSQL.ActiveConnection = cntSQL
cmdSQL.CommandText = sSQL
'execute the SQL query
Set rstSQL = cmdSQL.Execute()
CurrentWorkbook = FilePrefix & "_" & ItemNo & ".xls"
Workbooks(CurrentWorkbook).Activate
Worksheets("sheet3").Activate
If rstSQL.EOF = True Then MsgBox Prompt:="There is no data for Lot " &
LotNo & ", part number " & PartNo
HTH, Greg