佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 975|回复: 5

请教有关VB.net的问题

[复制链接]
发表于 3-11-2007 03:59 PM | 显示全部楼层 |阅读模式
想请教

我用vb.net做FYP
遇到很多问题,想请教各位高手
我是vb.net的新手
学过vb6,但是成绩很不理想

我是做一个POS system,里面有:
(1)Sales
(2)记录member(以换取member point,就像bonuslink card)
(3)记录Supplier
(4)记录Inventory

问题(1)

member有main site/common site,就是上面有几个textbox(Readonly)
下面有DataGridView(以便user可以click,大略看过那些资料)
旁边有Add, Edit, Delete, Search 的button

现在有两个table是关联的:
member table
member point table
我想display member point 在member main site 的一个textbox
请问要怎么拿某个member的member point?
====================================================

还有我我为了让user知道那个member是不是expired
我就用了IF-ENDIF 的方法,然后把答案放在txtStatus
我能放到了那些字(AVAILABLE / EXPIRED)
但是当EXPIRED时,字体的颜色不能变红色
请问我的coding在哪里出错?
====================================================

Private Sub dgvMDisplay_RowHeaderMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgvMDisplay.RowHeaderMouseClick

        Dim i, j As Integer

        'j refer to the number of column in Member Table
        i = dgvMDisplay.CurrentRow.Index

        Me.txtMemberID.Text = Me.dgvMDisplay.Item(0, i).Value
        Me.txtName.Text = Me.dgvMDisplay.Item(1, i).Value
        Me.txtIC.Text = Me.dgvMDisplay.Item(2, i).Value
        Me.txtGender.Text = Me.dgvMDisplay.Item(4, i).Value
        Me.rtxtAddress.Text = Me.dgvMDisplay.Item(5, i).Value
        Me.txtContactNo.Text = Me.dgvMDisplay.Item(6, i).Value

        Me.txtDIssued.Text = Me.dgvMDisplay.Item(7, i).Value
        Me.txtDExpired.Text = Me.dgvMDisplay.Item(8, i).Value
       'Me.txtMemPoint.Text =



        Dim EndDate As DateTime = Me.txtDExpired.Text
        Dim Current As DateTime = Today
        If DateTime.Compare(Current, EndDate) < 0 Then
            txtStatus.Text = "AVAILABLE"
        End If
        If DateTime.Compare(Current, EndDate) = 0 Then
            txtStatus.Text = "EXPIRED"
            'txtStatus.ForeColor = Color.Red
        End If
        If DateTime.Compare(Current, EndDate) > 0 Then
            txtStatus.Text = "EXPIRED"
            'txtStatus.ForeColor = Color.Red
        End If



回复

使用道具 举报


ADVERTISEMENT

发表于 6-11-2007 06:32 PM | 显示全部楼层
Select Case DateTime.Compare(Current,EndDate)
   Case Is < 0
        Me.TextBox1.Text = "AVAILABLE"
        Me.TextBox1.ForeColor = Color.Black ' Set to Default Color
   Cse Is >= 0
       Me.TextBox1.Text = "EXPIRED"
        Me.TextBox1.ForeColor = Color.Red'
End Select
回复

使用道具 举报

 楼主| 发表于 6-11-2007 11:29 PM | 显示全部楼层
原帖由 Zhixuen 于 6/11/2007 06:32 PM 发表
Select Case DateTime.Compare(Current,EndDate)
   Case Is < 0
        Me.TextBox1.Text = "AVAILABLE"
        Me.TextBox1.ForeColor = Color.Black ' Set to Default Color
   Cse Is >= 0
       M ...


谢谢你噢

我刚才尝试了,字体还是不能变色
但是如果我换 me.TextBox1.backColor = color.red
背面的颜色却能换到...
回复

使用道具 举报

发表于 7-11-2007 01:34 PM | 显示全部楼层
我试过了,没问题勒!!
www.vbforums.com 去。NET 区问问吧!
回复

使用道具 举报

 楼主| 发表于 8-11-2007 06:58 PM | 显示全部楼层
问题(2)

member有main site里面有4个button :

(1)ADD
(2)EDIT
(3)DELETE
(4)SEARCH

ADD button会link去另一个Form (Member Registration)
我的作法是:
(i) 做一个method,sub addMember(ByVal sqlStr as String)
(ii)然后在member register form的ADD button clicked 里面call addMember()

没有error,但是build的时候出现
InvalidOptionException was unhandled
An error occurred creating the form. See Exception.InnerException for details.
The error is: Object reference not set to an instance of an object.

  我有去查看是什么问题
  网上说多数是dataTable 没有放 new
  改了几次,还是一样
  到底是什么问题呢?
=======================================

Sub addMember(ByVal sqlStr As String)
        Dim dt As New DataTable()
        Dim connStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                "Data Source=TradingSystem.MDB"
        Dim dataAdapter As New OleDb.OleDbDataAdapter(sqlStr, connStr)


        dataAdapter.Fill(dt)
        dataAdapter.Dispose()

        
        Dim newRow As DataRow = dt.NewRow()
        ' Add A Row

        Dim female As String = "f"
        Dim male As String = "m"
        Dim getFee1 As Double = 5.0
        Dim getFee2 As Double = 10.0


        newRow("MemberID") = Convert.ToInt32(Me.txtMemberID.Text)
        newRow("MemberName") = Me.txtName.Text
        ........

        ........

        dt.Rows.Add(newRow)
      
frmMemberMain.Show()

End Sub



Private Sub btnAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAdd.Click
        addMember("Select * from Member")
End Sub
回复

使用道具 举报

发表于 5-12-2007 08:02 PM | 显示全部楼层
NEW 的用意是DEFINE OBJECT TO NEW OBJECT。

如果你的车没油了,你买一辆新车添油后会影响你现在这辆没油的车吗 ?
回复

使用道具 举报

Follow Us
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 10-10-2025 10:59 PM , Processed in 0.136074 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表