2013-10-08 178 views
0

我需要一些严重的帮助与vb.net系统。我正在开发一个桌面订购系统,我的流程流程如客户--->订单------->发票------>支付,NB *这一切都是通过员工,员工成员代表客户下单。Vb.net 2008与SQL Server 2005数据库

所以我想要的是,在整个流程流程中,就像您完成添加客户详细信息一样,它会进入订单,因此我希望它为我忙于的客户带来相同的客户ID。

有人可以帮我一个启动代码吗?

回答

0

假设CustomerOrderInvoicePayment是类:

Ord = New Order(Cust.CustomerID) 

基本上只是通过目前卡斯特ID到订单的构造函数,当你创建它。如果你需要创建一个“空白”的命令,重载的构造器:

Class Order 
    Public Sub New() 
     ... 
    End Sub 

    Public Sub New (Cust As Long) 
     ... 
    End Sub 

如果这是不可能的一些奇怪的原因,使人们有可能通过一种方法加载客户:

Ord = New Order() 
Ord.LoadCust(Cust.CustomerID) 

- ------------编辑程序版本-----------------------

PUBLIC ThisCustID As String ' (?) THIS is a global variable if declared 
           ' outside a SUB like in a module 

....顾客做东西

ThisCustID = ID_OF_NEW_CUST  ' what was just saved in db 

远在订购模块:

Public Sub MakeNewOrder() 
    ' has access to ThisCustID, but should not change it 
End Sub 

或:

Public Sub MakeNewOrder(CustID) 
    ' pass the current customer and avoid a global variable. 

冲洗和重复的ThisOrderID传递给发票

+0

我不能做不使用类?就像我的staffID在整个流程中保持不变,我在模块和登录按钮下创建了一个子例程,我编码:如果dr.read = true,则调用该子例程= dr(0),然后在员工已登录系统,他的StaffID保持不变,所以我如何为customerID做同样的事情? –

+0

然后只需创建一个全局变量ThisCustomerID为其分配客户流程中当前客户的值,然后让订单流程访问该变量。很难为程序化编程提供优雅的解决方案而无需看到一些代码。还是这些演员都是不同的EXE或类似的东西? – Plutonix

+0

我确实使它成为全局变量。 Public Sub CustID(byval CustID as String)conn.close conn.open query =“从cust_id ='”&custID的客户中选择cust_id。 Command.sqlcommand(query,conn)等。但现在我不知道如何在订单中调用它 –

相关问题