2011-03-07 5 views
0

SQL Server에 저장된 데이터를 VB6에 표시하려고합니다.VB6을 사용하여 SQL Server에 액세스

ALTER PROCEDURE [dbo].[ledger] 
    -- Add the parameters for the stored procedure here 

AS 
BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON; 

    -- Insert statements for procedure here 
select a.StockMaster,sum1,sum2,(sum2-sum1) as TQty from 
(SELECT tblStockMaster.SmName AS StockMaster, SUM(isnull(tblReceivingD.TotalQuantity,0)) AS sum2 
FROM tblStockMaster LEFT JOIN tblReceivingD ON tblReceivingD.StockControlR=tblStockMaster.SmName 
GROUP BY tblStockMaster.SmName) a , 
(SELECT tblStockMaster.SmName AS StockMaster, SUM(isnull(tblPurchaseOrderD.TotalQuantity,0)) AS sum1 
FROM tblStockMaster LEFT JOIN tblPurchaseOrderD ON tblPurchaseOrderD.StockControl=tblStockMaster.SmName GROUP BY tblStockMaster.SmName) b 
where a.StockMaster =b.StockMaster 

VB6에서는 SQL을 찾을 수 없습니다. SQL 데이터베이스에 어떻게 연결할 수 있습니까?

Private Sub Form_Load() 
SetGrid 
recdisplay "ledger" 
End Sub 
Function SetGrid() 


With MSFlexGrid1 
    .Rows = 1 

    .ColWidth(0) = 0 
    .ColWidth(1) = 4650: .TextMatrix(0, 1) = "Item Name" 
    .ColWidth(2) = 3565: .TextMatrix(0, 2) = "Total Quantity" 
    End With 
End Function 



Function recdisplay(sql As Variant) 

오류가 말한다 :

항목 당신은 저장

Dim R As Integer 
Set rs = New ADODB.Recordset 
rs.Open sql, conn, adOpenStatic, adLockReadOnly 

With MSFlexGrid1 
.Rows = 1 

    While Not rs.EOF 
    .AddItem rs!SMControl & vbTab & rs!SmName & vbTab & rs!tqty 

    rs.MoveNext 
    Wend 

End With 
End Function 
+0

'MSFlexGrid1'행에 중단 점을 지정하고 직접 실행 창으로 이동하여 다음을 입력하십시오. rs.Save "c : \ rs.xml", adPersistXML ... 이렇게하면 xml에 레코드 세트가 기록됩니다. 코드 바깥에서 검사하십시오. – benPearce

+0

감사합니다. 도움을 주셔서 감사합니다 – laky

답변

2

서수 요청 된 이름이나에 해당하는 컬렉션에서 항목을 찾을 수 없습니다 여기 코드는 proc은 다음 열을 반환합니다.

  • StockMaster
  • sum1
  • sum2
  • TQty
  • 귀하의 VB6 코드는 rs Recordset 개체에 다음과 같은 이름을 사용하려고

:

  • SMControl
  • qty

그래서 나는 오류가 SMControl이 Recordset 개체의 Field에 대한 유효한 이름이 아닌 것은 말할 생각합니다. VB6 코드에서 SMControlStockMaster으로 변경해야한다고 생각합니다.

+0

선생님, 지금 제가 감사합니다! – laky

+0

크레딧을주지 않는 사람들은 더 이상의 도움을받지 않으므로 정답을 받아 들여야합니다. – Cidtek

관련 문제