Como validar un campo existente en un dw

Estoy importando un archivo excel a mi dw, ¿cómo puedo validar unos campos ya existentes de mi dw que se registran a mi base de datos sql server?

Este es el scrit de mi botón registrar

If sqlca.SqlCode = 0 then
MessageBox("Mensaje", "Registrado")
dw_1.Update();
commit using sqlca;
Else
//MessageBox("Mensaje", "Error al registrar")
MessageBox("Mensaje", Sqlca.SqlErrText)
rollback;
End if

ESTE ES EL SCRIPT DE MI BOTÓN IMPORTAR EL EXCEL 

OLEObject excel

Integer li_RetValue, li_rtn
Boolean lb_sheet_rtn
Long ll_cnt
String ls_ClipBoard

// Varibles for File Name,path

string docpath, docname[]
integer i, li_cnt, li_filenum
long ll_xls_cols,ll_xls_rows

// Get file path

GetFileOpenName("Seleccione Archivo", docpath, docname[], "DOC", "Excel Files (*.xlsx),*.xlsx," + "All Files (*.*), *.*", "C:\Program Files\Sybase", 18)

if docpath='' then return

//MessageBox("Document Path ", docpath)

excel = create OLEObject

li_rtn = excel.ConnectToNewObject("excel.application")
IF li_rtn <> 0 THEN
MessageBox('Excel error','can not run Excel Program')
DESTROY excel
RETURN 0
END IF

excel.WorkBooks.Open(docpath)
excel.Application.Visible = false
excel.windowstate = 1 // 1 : Normal, 2 : Minimize, 3 : Maximize

lb_sheet_rtn = excel.worksheets(1).Activate

ls_ClipBoard = Clipboard() //Store current clipboard Data

// To Find the No Of Rows and Columns in the excel sheet

//ll_xls_cols = excel.worksheets(1).Usedrange.columns.count
//ll_xls_rows = excel.worksheets(1).Usedrange.rows.count
//ll_xls_rows = ll_xls_rows -1 // Considering row 1 has headers

//MessageBox("Rows and Cols In the Excel",string(ll_xls_rows)+ " Rows and "+string(ll_xls_cols)+" Columns Will be imported to application")

Excel. Worksheets(1). Range("A2:R18"). Copy // I have hard coded the Cells here your can change by using no of rows and columns and concatinating them
// copy to clipboard - Take enough Range. .. Or use the UsedRage property. If data ha header row, use correct statring range.. (B1:... )
ll_cnt = dw_1.importclipboard()

Clipboard(ls_ClipBoard) //Restore clipboard

IF ll_cnt <= 1 THEN
Messagebox("Information", "Unable to Load the data")
END IF
Excel. Application. Quit
Excel. DisConnectObject()
DESTROY excel

Añade tu respuesta

Haz clic para o