亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? timecard.cls

?? 完整的三層數據庫應用程序
?? CLS
?? 第 1 頁 / 共 2 頁
字號:
VERSION 1.0 CLASS
Begin      
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
End    

Attribute VB_Name = TimeCard
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit
Implements COMEXDataSourceSingle      
Private m_Fields() 
Public Event OnRecordSaved(byRef aTimeCard As TimeCard)
Public Event OnRecordMarkForDelete(byRef aTimeCard As TimeCard)
Public Event OnDirty(byVal IsDirty As Boolean)
Public Event OnRecordLoad(byRef aTimeCard As TimeCard)

Private WithEvents mobjValid As BrokenRules
Event Valid(ByVal IsValid As Boolean)
Private m_DateEntered As Date
Private m_EmployeeID As Long
Private m_FirstName As String
Private m_LastName As String
Private m_TimeCardID As Long
Private m_OldTimeCardID As Long
Private m_IsNew As Boolean
Private m_IsDirty As Boolean
Private m_IsDeleted As Boolean

Private m_TimeCardExpenses As TimeCardExpenses

Private m_TimeCardHours As TimeCardHours
	      

Friend Property Let IsNew(Byval vData As boolean)
  m_IsNew = vData
End Property

Public Property Get IsNew() As Boolean
  IsNew = m_IsNew
End Property

Friend Property Let IsDirty(Byval vData As boolean)
  m_IsDirty = vData
  RaiseEvent OnDirty(vData)
End Property

Public Property Get IsDirty() As Boolean
  IsDirty = m_IsDirty
End Property

Friend Property Let IsDeleted(Byval vData As boolean)
  m_IsDeleted = vData
  RaiseEvent OnRecordMarkForDelete(Me) 
End Property

Public Property Get IsDeleted() As Boolean
  IsDeleted = m_IsDeleted
End Property    

Public Property Get IsValid() As Boolean
  IsValid = (mobjValid.Count = 0)
End Property

Private Sub mobjValid_BrokenRule()
  RaiseEvent Valid(False)
End Sub

Private Sub mobjValid_NoBrokenRules()
  RaiseEvent Valid(True)
End Sub
'******************************************************************************
'Begin property get/let/set                                                   *
'******************************************************************************

Friend Property Let OldTimeCardID(vData As Long)
  m_OldTimeCardID = vData
End Property

Public Property Let DateEntered (vData As Date)
  m_DateEntered = vData 
  mobjValid.RuleBroken "DateEntered", False	
  IsDirty = True
End Property

Public Property Get DateEntered() As Date
  DateEntered = m_DateEntered
End Property


Public Property Let EmployeeID (vData As Long)
  m_EmployeeID = vData 	
  IsDirty = True
End Property

Public Property Get EmployeeID() As Long
  EmployeeID = m_EmployeeID
End Property


Public Property Get EmployeeIDIncludeLookup() As String
  EmployeeIDIncludeLookup = m_EmployeeID & vbtab & FirstName & vbtab & LastName 		  
End Property 

Friend Property Let EmployeeIDIncludeLookup(byval vData As string) 
  On Error Resume Next
  Dim strFields() As string
  strFields = split(vData, vbtab)
  EmployeeID = strFields(0) 
  m_FirstName = strFields(1)
  m_LastName = strFields(2) 		  
End Property 


Friend Property Let FirstName(vData As String)
  m_FirstName = vData
End Property
		
Public Property Get FirstName() As String
  FirstName = m_FirstName
End Property
Friend Property Let LastName(vData As String)
  m_LastName = vData
End Property
		
Public Property Get LastName() As String
  LastName = m_LastName
End Property
Public Property Let TimeCardID (vData As Long)
  m_TimeCardID = vData 	
  IsDirty = True
End Property

Public Property Get TimeCardID() As Long
  TimeCardID = m_TimeCardID
End Property


Public Property Set TimeCardExpenses(vData As TimeCardExpenses)
  Set m_TimeCardExpenses = vData
End Property

Public Property Get TimeCardExpenses() As TimeCardExpenses
  Set TimeCardExpenses  = m_TimeCardExpenses
End Property
Public Property Set TimeCardHours(vData As TimeCardHours)
  Set m_TimeCardHours = vData
End Property

Public Property Get TimeCardHours() As TimeCardHours
  Set TimeCardHours  = m_TimeCardHours
End Property
'******************************************************************************
'End property get/let/set                                                     *
'******************************************************************************	

'******************************************************************************
'*                                                                            *
'* Name:    Clear                                                             *
'*                                                                            *
'* Purpose: Reset this object and initialize data to default.                 *
'*                                                                            *
'******************************************************************************
Public Sub Clear() 
  m_IsNew = True
  m_IsDirty = False
  m_IsDeleted = False 

  m_DateEntered = "12:00:00AM"
  m_EmployeeID = 0
  m_TimeCardID = 0
  Set m_TimeCardExpenses = Nothing
  Set m_TimeCardExpenses =  New TimeCardExpenses
  Set m_TimeCardHours = Nothing
  Set m_TimeCardHours =  New TimeCardHours


  Set mobjValid = New BrokenRules
  ReSetBrokenRule True 
End Sub	


Public Sub ReSetBrokenRule(byval BrokenAll As boolean)  
  Dim vTimeCardExpense As TimeCardExpense
  For Each vTimeCardExpense In m_TimeCardExpenses
  	vTimeCardExpense.ReSetBrokenRule BrokenAll
  Next
  Dim vTimeCardHour As TimeCardHour
  For Each vTimeCardHour In m_TimeCardHours
  	vTimeCardHour.ReSetBrokenRule BrokenAll
  Next
  mobjValid.RuleBroken "DateEntered", BrokenAll
End Sub


Private Sub Class_Initialize()
  Clear
  m_Fields = Array("DateEntered", "EmployeeID", "TimeCardID")  
End Sub
Private Sub Class_Terminate()
  Clear
End Sub

'******************************************************************************
'*                                                                            *
'* Name:    Save                                                              *
'*                                                                            *
'* Purpose: Save a changed object or a new record into database.              *
'*                                                                            *
'* Returns: True when successfully saved, false when failed to save.          *
'*                                                                            *
'******************************************************************************
Public Function Save(optional Byval bolStartTran As boolean = True) As Boolean   
  Dim adoRS As ADODB.Recordset
  Dim strSQL As String
  Dim Count As Long, i As Long, bolInTran As boolean 
  
  On Error GoTo Err_Save
  
  If Not IsDirty Then GoTo Skip_Save
  
                 
  If Not IsValid Then 
    InvalidHandler(mobjValid.BrokenRules)
    GoTo Done_Save
  End If
  
  If bolStartTran Then 
    Conn.BeginTrans  
    bolInTran = True
  End If
  
  Set adoRS = New ADODB.Recordset  

  strSQL ="Select * FROM [Time Cards] a WHERE  a.TimeCardID=" & m_OldTimeCardID & ""
  adoRS.Open strSQL , Conn, adOpenKeyset, adLockOptimistic
  With adoRS
  If Not .EOF Then
    If m_IsDeleted Then
      .Delete
    Else	
SaveRecord:
      adoRS("DateEntered") = m_DateEntered
      adoRS("EmployeeID") = m_EmployeeID

      .Update
      m_TimeCardID = adoRS("TimeCardID")
      m_OldTimeCardID = m_TimeCardID
    End If
  Else
    If Not m_IsDeleted Then
      .AddNew
      GoTo SaveRecord
    End If
  End If
  .Close
  End With

Skip_Save:

  Dim uTimeCardExpense As TimeCardExpense  
  i = 1
  Do While i <= m_TimeCardExpenses.Count
    Set uTimeCardExpense = m_TimeCardExpenses(i)
    If uTimeCardExpense.IsDeleted Then
      If Not uTimeCardExpense.Save(False) Then
        GoSub Rollback_Save
        Exit Function
      End If
      m_TimeCardExpenses.Remove i
    Else
      If uTimeCardExpense.IsDirty Then
        uTimeCardExpense.TimeCardID = m_TimeCardID
      End If
      If Not uTimeCardExpense.Save(False) Then
        GoSub Rollback_Save
        Exit Function
      End If  
      i = i + 1
    End If
  Loop

  Dim uTimeCardHour As TimeCardHour  
  i = 1
  Do While i <= m_TimeCardHours.Count
    Set uTimeCardHour = m_TimeCardHours(i)
    If uTimeCardHour.IsDeleted Then
      If Not uTimeCardHour.Save(False) Then
        GoSub Rollback_Save
        Exit Function
      End If
      m_TimeCardHours.Remove i
    Else
      If uTimeCardHour.IsDirty Then
        uTimeCardHour.TimeCardID = m_TimeCardID
      End If
      If Not uTimeCardHour.Save(False) Then
        GoSub Rollback_Save
        Exit Function
      End If  
      i = i + 1
    End If
  Loop

  If bolInTran Then 
    Conn.CommitTrans
    bolInTran = False
  End If
  Save = True
  IsDirty = False     
  IsNew = False

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
福利电影一区二区| 久久狠狠亚洲综合| 色视频一区二区| 亚洲乱码国产乱码精品精小说| 成人av动漫在线| 一区二区三区四区视频精品免费 | 韩国三级中文字幕hd久久精品| 欧美精品三级在线观看| 日本va欧美va瓶| 精品日韩成人av| 成人黄色网址在线观看| 一区二区三区四区国产精品| 欧美一a一片一级一片| 五月婷婷综合激情| 久久男人中文字幕资源站| 不卡的av在线播放| 亚洲国产日日夜夜| 久久这里只有精品6| 91亚洲精品久久久蜜桃| 日韩二区三区四区| 久久精品亚洲一区二区三区浴池 | 一本色道久久加勒比精品| 亚洲最色的网站| 亚洲欧美激情在线| 欧美日韩的一区二区| 国产精品一区二区久久精品爱涩| 中文字幕日韩一区| 欧美日韩视频在线第一区| 国产精品一区二区视频| 亚洲日本一区二区| xfplay精品久久| 欧美在线啊v一区| 国产suv精品一区二区883| 一区二区三区四区av| 精品国产髙清在线看国产毛片| 91在线观看下载| 九色porny丨国产精品| 亚洲视频在线一区二区| 精品欧美乱码久久久久久1区2区| 99久久精品国产一区二区三区| 免费看黄色91| 亚洲综合丝袜美腿| 国产精品亲子伦对白| 欧美精品99久久久**| 99精品视频一区二区三区| 久久99久久久久| 亚洲国产精品久久久久婷婷884| 国产欧美一区二区在线| 日韩一区和二区| 欧美日韩亚洲综合一区二区三区| 岛国一区二区三区| 国内精品伊人久久久久av一坑| 亚洲影院理伦片| 国产精品福利一区二区| 久久久亚洲午夜电影| 日韩一区二区三区视频在线观看| 91免费在线视频观看| 国产成人综合视频| 狠狠色综合播放一区二区| 石原莉奈在线亚洲三区| 亚洲国产视频一区| 亚洲精品菠萝久久久久久久| 国产精品国产自产拍高清av| 国产午夜精品久久久久久久 | 亚洲成a人在线观看| 中文字幕亚洲欧美在线不卡| 久久久久久9999| 亚洲精品一线二线三线无人区| 欧美乱熟臀69xxxxxx| 欧美三级中文字幕在线观看| 在线观看国产精品网站| 91一区二区三区在线观看| 成人黄色免费短视频| 成人亚洲精品久久久久软件| 国产福利不卡视频| 国产99一区视频免费| 国产精品一区二区在线播放 | 午夜久久久久久电影| 亚洲一区二区三区小说| 一级日本不卡的影视| 亚洲一区精品在线| 亚洲成a人片在线观看中文| 夜夜嗨av一区二区三区网页 | 日本高清不卡aⅴ免费网站| www.久久精品| 色猫猫国产区一区二在线视频| 成人av电影免费在线播放| 99久久99久久精品国产片果冻| 北条麻妃一区二区三区| 9i在线看片成人免费| 在线观看日韩毛片| 538在线一区二区精品国产| 欧美精品色综合| 2020国产精品自拍| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 日本亚洲最大的色成网站www| 天天做天天摸天天爽国产一区| 视频在线观看一区二区三区| 九色porny丨国产精品| 国产精品99久久久久久久vr| 成人黄色一级视频| 欧美三级在线视频| 日韩美女主播在线视频一区二区三区 | 婷婷国产v国产偷v亚洲高清| 久久精品国产亚洲高清剧情介绍| 国产精品中文欧美| 色天天综合色天天久久| 日韩一级大片在线| 国产精品国产三级国产普通话99| 一区二区三区欧美在线观看| 免费观看91视频大全| 国产精品69毛片高清亚洲| 91丨porny丨最新| 欧美一区二区三区免费视频| 欧美激情综合网| 婷婷亚洲久悠悠色悠在线播放| 国产乱码精品一区二区三| 色老头久久综合| 精品国产欧美一区二区| 亚洲伦理在线免费看| 国产综合色在线视频区| 色菇凉天天综合网| 久久久久国产精品麻豆ai换脸| 亚洲精品成a人| 国产成人精品三级| 欧美乱妇20p| 亚洲欧洲无码一区二区三区| 久久不见久久见免费视频7| 91丨九色丨黑人外教| 精品久久国产字幕高潮| 一区二区三区产品免费精品久久75| 麻豆精品新av中文字幕| 日本高清不卡一区| 久久久久9999亚洲精品| 日本不卡的三区四区五区| 一本一道久久a久久精品综合蜜臀| 欧美精品一区二区三区很污很色的 | 91在线视频观看| 2020国产精品自拍| 午夜精品成人在线| 97精品超碰一区二区三区| 久久久影院官网| 日韩高清在线一区| 在线这里只有精品| 国产精品灌醉下药二区| 国产在线精品一区二区不卡了 | 在线观看亚洲a| 国产精品免费视频观看| 卡一卡二国产精品 | av电影在线不卡| 久久蜜桃av一区二区天堂| 日韩精品电影在线观看| 欧美色图第一页| 亚洲精品国产第一综合99久久 | 亚洲视频免费在线观看| 从欧美一区二区三区| 久久久久久久国产精品影院| 另类调教123区 | 成人免费视频视频| 欧美精品免费视频| 亚洲自拍偷拍网站| 在线精品视频小说1| 亚洲精品国产一区二区精华液 | 中文字幕一区免费在线观看| 国产河南妇女毛片精品久久久| 精品蜜桃在线看| 美国三级日本三级久久99| 日韩一区二区电影| 免费黄网站欧美| 欧美tk—视频vk| 国产一区二区三区在线观看免费| 2023国产精品视频| 国产激情视频一区二区三区欧美| 国产视频一区在线播放| 成人激情小说网站| 亚洲欧美日韩电影| 欧美午夜电影一区| 日本欧美韩国一区三区| 欧美成人伊人久久综合网| 国产一区在线观看视频| 国产日韩欧美高清| 91丨porny丨首页| 亚洲电影激情视频网站| 欧美一区二区视频观看视频 | 国产一区 二区 三区一级| 久久久久97国产精华液好用吗| 成人午夜在线免费| 17c精品麻豆一区二区免费| 色婷婷综合激情| 无吗不卡中文字幕| 久久亚洲欧美国产精品乐播| 国产91在线观看丝袜| 亚洲精品老司机| 日韩女优av电影在线观看| 精品在线免费观看| 国产精品久久久久影院老司| 欧美手机在线视频| 狠狠v欧美v日韩v亚洲ⅴ| 国产一级精品在线| 国产精品日韩精品欧美在线|