VB代码规范和左外部結合

 
1.如果需要对一个表的所有字段需要进行操作,那么在定义的时候,可以用如下的定义方式可以一目了然
Private Type mNenCho_Item
    N01_F_KBN              As String       'ファイル区分
    N02_REC_KBN           As String       'レコード区分
    。。。 。。。
    N24_ADD_CD             As String       '集計先コード
End Type
2.在SQL文中对字符类型的数据的操作,用如下函数
    strSql = strSql & "," & gs_AddQuo(vstrSysDate)
 
'*************************************************************
' 文字列をクォーテーションで囲む。
' 内容: 引数に渡された文字列をクォーテーションで囲む。
'            文字列中にクォーテーションが含まれる場合は2個に増やす。
' 戻り値:Variant(NULL文字があるのでVariant型を使用)
'*************************************************************
Public Function gs_AddQuo(ByVal vvarExp As Variant) As String
    gs_AddQuo = "'" & Replace(vvarExp, "'", "''") & "'"
End Function
 
3.对多个函数的操作,比较好的写法。
blnFlg = mb_Del_NenCho(strType)
    If blnFlg = True Then
        blnFlg = mb_Edt_NenCho(strType, strPath & strFName)
    End If
   If  blnFlg = True Then
        G_MST.CommitTrans
   Else
        G_MST.RollbackTrans
   End If
 
4.SQl文
   条件: 本人情報マスタが存在する年末調整データの内、勤務所番号(控除先)が未設定または会社マスタに存在しないデータから出力する
 
 表的关系是 :
会社マスタ(M_KAISYA)的主键是勤務所番号(控除先)(KAISYA_CD)
 本人情報マスタ(M_HONNIN)的主键是加入者番号(EMPLOYEE_NO)
年末調整データ(T_NENCHO_MED)的主键是加入者番号(EMPLOYEE_NO)
 
SQL文如下:
    strSql = ""        
        strSql = strSql & "SELECT"
        strSql = strSql & " A.EMPLOYEE_NO"
        strSql = strSql & " ,A.NAME"
        strSql = strSql & " ,A.SEIBETU"
        strSql = strSql & " ,A.PRE_YEAR"
        strSql = strSql & " ,A.KINMUSHO_NO"
        strSql = strSql & " FROM T_NENCHO_MED A,M_HONNIN H"
        strSql = strSql & " WHERE"
        strSql = strSql & " H.EMPLOYEE_NO=A.EMPLOYEE_NO AND"
        strSql = strSql & " NOT EXISTS (SELECT 1 FROM M_KAISYA K WHERE K.KAISYA_CD=A.KINMUSHO_NO)"
 
这其中有个隐含内容 因为勤務所番号(控除先)是会社マスタ的主键,所以它不可能为空,那么如果年末調整データ表中的勤務所番号(控除先)が未設定,那么这条数据肯定也在会社マスタ里不存在,所以实际上勤務所番号(控除先)が未設定和会社マスタに存在しないデータ这是统一的一个条件.
 
5. (+)在右边,保证了左边表中的所有记录都会被取到,相当于一部分(part A)是select a.col1,b.col2,a.col3 from a,b where a.col1=b.col2取出的这部分记录;另一部分(part B)是a表中不满足上面条件剩下的所有记录(包括2种,一种是记录中a.col1为空,另一种是a.col1取了b.col2未出现过的值)都会在表里面显示,这部分select出来的所有与b表相关的字段均为空。所以左连接查询得到的记录条数应该与a表一致
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值