点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在使用 VB.Net ,MS...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在使用 VB.Net ,MS...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在使用 VB.Net ,MS Sql和Crystal Reports开发小型POS系统。 我可以使用Cry Rep Viewer轻松查看报告。 但是,当我尝试在运行时打印帐单时,报告将为空。 以下是我在该过程中执行的顺序。
但是我的问题出在票据打印过程中。 Bill不会从销售表中提取必要的记录。 以下是我的打印账单和最终交易的完整代码。 (我正在使用自己的一些方法和函数,这些方法和函数是来自另一个类的,并且我还使用了用于测试的修订单)
我还要附上2张钞票。 第一个是从Cry Report Viewer中查看和导出的一个。 第二个是有问题的,即使表中存在记录,它也为空。 有人可以在这件事上给我建议吗?
'打印帐单 现金不足,余额则加倍 Dim crepBill作为新的repBill crepBill.SetDatabaseLogon(" sa",dbPwd) 现金= Val(Me.txtCash.Text) 余额= Val(Me.txtBalance.Text) crepBill.RecordSelectionFormula =" {TB_SALES.bill_no} ='"&" 000015"&"'" crepBill.DataDefinition.FormulaFields(" txtCash")。Text = Format(cash,"#0.00") crepBill.DataDefinition.FormulaFields(" txtBal")。Text = Format(balance,"#0.00") crepBill.PrintToPrinter(1,False,0,0) crepBill.Dispose()
私人子endCurrentTransaction() 尝试 Dim sqlTempBill As String =" SELECT * FROM tb_transactions其中cur_user ='"&curUser&"'" Dim sqlSales As String =" SELECT * FROM tb_sales where bill_no ="" '获取帐单号 昏暗的newBillNo作为字符串= generateBillNo() '减少IT数量 Dim tempBill作为DataTable tempBill = myTbClass.myFunctionFetchTbData(sqlTempBill) Dim i As Integer = 0 双倍的暗淡数量= 0 Double的Dim trQty = 0 昏暗更新数量为双精度= 0 对于i = 0到tempBill.Rows.Count-1 当前数量= 0 '获取当前库存数量 Dim sqlgetCurQty As String ="从tb_stock中选择cur_qty,其中it_batch_code ='"&tempBill.Rows(i).Item(" it_batch_code")&"' conn.Open() 昏暗的SqlCmdCurQty作为新的SqlCommand(sqlgetCurQty,conn) Dim DataReadercurQty为SqlDataReader = SqlCmdCurQty.ExecuteReader 而DataReadercurQty.Read() curQty = DataReadercurQty.Item(0) 结束时间 DataReadercurQty.Close() conn.Close() trQty = tempBill.Rows(i).Item(" qty") UpdatedQty = curQty-trQty Dim sqlUpdateQtyString As String =" UPDATE tb_stock SET cur_qty ="&Math.Round((updatedQty),3)&" where it_batch_code ='"&tempBill.Rows(i).Item(" it_batch_code")&"'" conn.Open() 昏暗的SqlCmdQty作为新的SqlCommand(sqlUpdateQtyString,conn) SqlCmdQty.ExecuteNonQuery() conn.Close() '增加销售 昏暗的tempTbSales作为数据表 tempTbSales = myTbClass.myFunctionFetchTbData(sqlSales) Dim dataRow为DataRow = tempTbSales.NewRow dataRow(" it_code")=修剪(tempBill.Rows(i).Item(" it_code")) dataRow(" it_batch_code")=修剪(tempBill.Rows(i).Item(" it_batch_code")) dataRow(" it_name")=修剪(tempBill.Rows(i).Item(" it_name")) dataRow(" buy_price")= Math.Round(tempBill.Rows(i).Item(" buy_price"),3) dataRow(" sell_price")= Math.Round(tempBill.Rows(i).Item(" sell_price"),3) dataRow(" qty")= Math.Round(tempBill.Rows(i).Item(" qty"),3) dataRow(" gross_val")= Math.Round(tempBill.Rows(i).Item(" gross_val"),3) dataRow(" discount_val")= Math.Round(tempBill.Rows(i).Item(" discount_val"),3) dataRow(" net_val")= Math.Round(tempBill.Rows(i).Item(" net_val"),3) dataRow(" profit_profile")=修剪(tempBill.Rows(i).Item(" profit_profile")) dataRow(" discount_profile")=修剪(tempBill.Rows(i).Item(" discount_profile")) dataRow(" cus_name")=修剪(tempBill.Rows(i).Item(" cus_name")) dataRow(" tr_type")=修剪(cmbTrans.Text) dataRow(" cr_card_type")=修剪(cmbCardType.Text) dataRow(" card_no")=修剪(txtCardNo.Text) dataRow(" bill_no")= newBillNo dataRow(" discount_profile")=修剪(tempBill.Rows(i).Item(" cus_name")) dataRow(" cur_user")= curUser dataRow(" added_date")= curServerDateTime tempTbSales.Rows.Add(dataRow) 调用myTbClass.MyMethodUpdateTable(sqlSales,tempTbSales) 下一个 我= 0 '打印帐单 现金不足,余额则加倍 Dim crepBill作为新的repBill crepBill.SetDatabaseLogon(" sa",dbPwd) 现金= Val(Me.txtCash.Text) 余额= Val(Me.txtBalance.Text) crepBill.RecordSelectionFormula =" {TB_SALES.bill_no} ='"&" 000015"&"'" crepBill.DataDefinition.FormulaFields(" txtCash")。Text = Format(cash,"#0.00") crepBill.DataDefinition.FormulaFields(" txtBal")。Text = Format(balance,"#0.00") crepBill.PrintToPrinter(1,False,0,0) crepBill.Dispose() '删除临时账单表 对于i = 0到tempBill.Rows.Count-1 tempBill.Rows(i).Delete() 下一个 调用myTbClass.MyMethodUpdateTable(sqlTempBill,tempBill) 重置前端 调用loadBill() 调用clearCurrentTransaction() 调用clearCurrentSubTotals() 调用clearCurCashBalance() '将账单号增加1 调用gainBillNo() txtItCode.Focus() 异常捕获 MsgBox("此错误是在endCurrentTransaction()处生成的) 结束尝试 结束
(15.8 kB)
在调用
之前,您需要添加以下行:
这实际上将运行报表,以便在其中包含数据。
-Dell
一周热门 更多>