Я создал таблицу в функции vb6, но не смог получить ее значение из SQL-запроса в vb6.Я хочу, чтобы автоматически увеличивался s.no вместо месяца. Ниже приведена требуемая таблица. Пожалуйста, помогитеКак получить значение таблицы из запроса в vb6
S.NO EMPLOYEE_ID EMPLOYEE_NAME GROSS_SALARY
1 1 abc 45677878
2 2 xyz 5678998
функция приводится ниже, которая создается
Private Sub Command1_Click()
Dim FileName As String
Dim lTaxablePay As Variant
Dim lSDLAmt As Variant
Dim lRsCompDet As New ADODB.Recordset
Dim lRsMonthlyDet As New ADODB.Recordset
Dim lTotCasual As Currency, lTotPermanent As Currency, lTotSDLAmt As Currency, lTotGrossAmt As Currency
Call MsgBox("This report will be generated for the period of " & MonthName(DTPFromDate.Month) & " to " & MonthName(DTPToDate.Month), vbOKOnly + vbExclamation, Me.Caption)
lstrSQL = "SELECT ADDRESS1, ADDRESS2, CITY, POSTCODE , TYPE_OF_BUSINESS "
lstrSQL = lstrSQL & " FROM I_HR_EMPLOYER_MASTER "
lstrSQL = lstrSQL & " WHERE EMPLOYER_CODE = '" & gEmployerCode & "' AND TAX_YEAR = " & gTaxYear
Set lRsCompDet = gObjDBConnection.ExecuteSQL(lstrSQL)
If RecordsetsIsEmpty(lRsCompDet) = True Then
MsgBox "Company Details are not entered.", vbOKOnly + vbInformation, Me.Caption
Exit Sub
End If
lTaxablePay = GetTaxablePay(, DTPFromDate.Month, DTPToDate.Month)
lstrSQL = " SELECT s.EMPLOYEE_ID,EMPLOYEE_NAME, "
lstrSQL = lstrSQL & " (SELECT sum(AMOUNT)As GROSS_SALARY FROM V_HR_PP_PROCESS_DATA s inner join I_HR_EMPLOYEE_MASTER m on m.EMPLOYER_CODE=s.EMPLOYER_CODE and m.EMPLOYEE_ID=s.EMPLOYEE_ID WHERE "
lstrSQL = lstrSQL & " EMPLOYER_CODE = A.EMPLOYER_CODE AND TAX_YEAR = A.TAX_YEAR AND PROCESS_MONTH = A.MONTH AND "
lstrSQL = lstrSQL & " TAX_YEAR = 2014 "
lstrSQL = lstrSQL & " group by s.EMPLOYER_CODE,s.EMPLOYEE_ID,EMPLOYEE_NAME,TAX_YEAR "
' MsgBox (lstrSQL)
Set lRsMonthlyDet = gObjDBConnection.ExecuteSQL(lstrSQL)
lRsMonthlyDet.Sort = "Month Asc"
'If fSDLPercentage <> 0 Then
lSDLAmt = Val(lTaxablePay & "") * 1/100
' End If
fObjTS.WriteLine " ------------------------------------------------------------------------------------------------"
fObjTS.WriteLine " | | | | | |"
fObjTS.WriteLine " | S.NO | EMPLOYEE_ID | EMPLOYEE NAME | GROSS SALARY | Total amount of |"
fObjTS.WriteLine " | | | | | SDL. Paid to |"
fObjTS.WriteLine " | | | | | the Bank |"
fObjTS.WriteLine " ------------------------------------------------------------------------------------------------"
If RecordsetsIsEmpty(lRsMonthlyDet) = True Then
fObjTS.WriteLine " | January | | | | |"
fObjTS.WriteLine " | February | | | | |"
fObjTS.WriteLine " | March | | | | |"
fObjTS.WriteLine " | April | | | | |"
fObjTS.WriteLine " | May | | | | |"
fObjTS.WriteLine " | June | | | | |"
fObjTS.WriteLine " | July | | | | |"
fObjTS.WriteLine " | August | | | | |"
fObjTS.WriteLine " | September | | | | |"
fObjTS.WriteLine " | October | | | | |"
fObjTS.WriteLine " | November | | | | |"
fObjTS.WriteLine " | December | | | | |"
fObjTS.WriteLine " | | | | | |"
fObjTS.WriteLine " ------------------------------------------------------------------------------------------------"
fObjTS.WriteLine " | TOTALS | | | | |"
fObjTS.WriteLine " ------------------------------------------------------------------------------------------------"
Else
lTotCasual = 0: lTotPermanent = 0: lTotSDLAmt = 0: lTotGrossAmt = 0
Do While Not lRsMonthlyDet.EOF
'If fSDLPercentage <> 0 Then
lSDLAmt = (Val(lRsMonthlyDet.Fields("Gross_Permanent").Value & "") + Val(lRsMonthlyDet.Fields("Gross_Casual").Value & "")) * 1/100
' Else
' lSDLAmt = 0
' End If
lTotCasual = lTotCasual + Val(lRsMonthlyDet.Fields("Employee_Id").Value & "")
lTotPermanent = lTotPermanent + Val(lRsMonthlyDet.Fields("Employee_Name").Value & "")
lTotGrossAmt = lTotGrossAmt + Val(lRsMonthlyDet.Fields("Gross_Salary").Value & "") + Val(lRsMonthlyDet.Fields("Gross_Permanent").Value & "")
lTotSDLAmt = lTotSDLAmt + Val(lSDLAmt & "")
fObjTS.WriteLine " | " & _
ConvertNumberToThousandSeparator(Val(lRsMonthlyDet.Fields("Employee_Id").Value & "")) & "|" & _
ConvertNumberToThousandSeparator(Val(lRsMonthlyDet.Fields("Employee_Name").Value & "")) & "|" & _
ConvertNumberToThousandSeparator(Val(lRsMonthlyDet.Fields("Gross_Salary").Value & "")) & "|" & _
ConvertNumberToThousandSeparator(lSDLAmt, 24) & "|"
lRsMonthlyDet.MoveNext
Loop
fObjTS.WriteLine " | | | | | |"
fObjTS.WriteLine " ------------------------------------------------------------------------------------------------"
fObjTS.WriteLine " | TOTALS |" & _
ConvertNumberToThousandSeparator(Val(lTotPermanent & ""), 18) & "|" & _
ConvertNumberToThousandSeparator(Val(lTotCasual & ""), 17) & "|" & _
ConvertNumberToThousandSeparator(Val(lTotGrossAmt & ""), 17) & "|" & _
ConvertNumberToThousandSeparator(lTotSDLAmt, 24) & "|"
fObjTS.WriteLine " ------------------------------------------------------------------------------------------------"
End If
'--------------------------------------------------------------------
fObjTS.WriteLine ""
fObjTS.CLOSE
Call ShowTextReportPreview(FileName)
End Sub
Можете ли вы уточнить, что вы имеете в виду под "не удалось получить его значение из SQL Query", пожалуйста? Похоже, вы говорите, что пытаетесь получить ценность всей таблицы, и у меня возникают проблемы с этим. – BobRodes
Да, конечно .. @ BobRodes. на самом деле я хочу получить значения таблиц, так как вы можете видеть, что я разработал таблицу. Значение поля, такое как EMPLOYEE_ID, EMPLOYEE_NAME, GROSS_SALARY, должно поступать из базы данных. запрос в порядке .. но я не знаю, как получить эти данные здесь в кодировании, а также s.no следует автоматически увеличивать. Пожалуйста, помогите – Kirat
. Я хочу получить результат, который я описал в таблице. – Kirat