<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>魚山田のブログ</title>
<link>https://ameblo.jp/vmxbeat/</link>
<atom:link href="https://rssblog.ameba.jp/vmxbeat/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>ブログの説明を入力します。</description>
<language>ja</language>
<item>
<title>IE Control Model</title>
<description>
<![CDATA[ <p>Sub Search_Yahoo()</p><p>Dim objIE      As Object  'ＩＥオブジェクト参照用<br>Dim myWord  As String</p><p>'IEのオブジェクトを作る</p><p>    </p><p>If Len(ActiveCell.Value) = 0 Then</p><p>    Exit Sub<br>    <br>End If</p><p><br>myWord = funct_URL_Encode(CStr(ActiveCell.Value))</p><p><br>Set objIE = CreateObject("InternetExplorer.application")</p><p><br>    objIE.Visible = True<br>    objIE.Navigate "<a href="http://search.yahoo.co.jp/search?p">http://search.yahoo.co.jp/search?p</a>=" &amp; myWord &amp; "&amp;aq=-1&amp;oq=&amp;ei=UTF-8&amp;fr=top_of3_sa&amp;x=wrt"</p><p>Set objIE = Nothing</p><p><br>End Sub</p><br><p>Sub Search_YahooMap()</p><p>Dim objIE      As Object  'ＩＥオブジェクト参照用<br>Dim myWord  As String</p><p>'IEのオブジェクトを作る</p><p>    </p><p>If Len(ActiveCell.Value) = 0 Then</p><p>    Exit Sub<br>    <br>End If</p><p><br>myWord = funct_URL_Encode(CStr(ActiveCell.Value))</p><p><br>Set objIE = CreateObject("InternetExplorer.application")</p><p><br>    objIE.Visible = True<br>    objIE.Navigate "<a href="http://maps.loco.yahoo.co.jp/maps?p">http://maps.loco.yahoo.co.jp/maps?p</a>=" &amp; myWord &amp; "&amp;ei=utf-8"</p><p>Set objIE = Nothing</p><br><br><p><br>End Sub</p><br><br><br><br><p><br>Function funct_URL_Encode(BasicCharactor As String) As String</p><p><br>Dim objScript As Object<br>Dim objJAVASC As Object</p><p>    Set objScript = CreateObject("ScriptControl")<br>    objScript.Language = "Jscript"<br>    <br>    Set objJAVASC = objScript.CodeObject<br>    funct_URL_Encode = objJAVASC.encodeURIComponent(BasicCharactor)<br>    <br>    Set objScript = Nothing<br>    Set objJAVASC = Nothing</p><br><p><br>End Function</p><br><br>
]]>
</description>
<link>https://ameblo.jp/vmxbeat/entry-11533944548.html</link>
<pubDate>Mon, 20 May 2013 01:50:49 +0900</pubDate>
</item>
<item>
<title>Access Driver</title>
<description>
<![CDATA[ [ODBC]<br>DRIVER=Driver do Microsoft Access (*.mdb)<br>UID=admin<br>UserCommitSync=Yes<br>Threads=3<br>SafeTransactions=0<br>PageTimeout=5<br>MaxScanRows=8<br>MaxBufferSize=2048<br>FIL=MS Access<br>DriverId=25<br>DefaultDir=C:\USERS\***\Desktop\ty_Access\10章サンプル<br>DBQ=C:\USERS\***\Desktop\ty_Access\10章サンプル\10章サンプル.mdb<br>
]]>
</description>
<link>https://ameblo.jp/vmxbeat/entry-11533940356.html</link>
<pubDate>Mon, 20 May 2013 01:36:07 +0900</pubDate>
</item>
<item>
<title>Folder Open</title>
<description>
<![CDATA[ <p>Set DIR03 = WScript.CreateObject("Shell.Application")<br>DIR03.Open "***"<br>Set DIR03 = Nothing</p><br><p>Set ZOODIR01 = WScript.CreateObject("InternetExplorer.application")<br>ZOODIR01.Navigate "<a href="mailto:***@***.ne.jp?Subject">mailto:***@***.ne.jp?Subject</a>=エラー対応依頼"<br>Set ZOODIR01 = Nothing</p>
]]>
</description>
<link>https://ameblo.jp/vmxbeat/entry-11533937471.html</link>
<pubDate>Mon, 20 May 2013 01:27:01 +0900</pubDate>
</item>
<item>
<title>Err Model</title>
<description>
<![CDATA[ <p>Sub Macro1()</p><p>Dim boolExist As Boolean</p><p><br>On Error GoTo MY_ERROR_STATE</p><p><br>Range("X56X").Select</p><br><p><br>MsgBox "OK"</p><br><p><br>Exit Sub</p><p>MY_ERROR_STATE:</p><p>boolExist = myfunct_CreateErrorLog(Application.DefaultFilePath)</p><p>Err.Raise Err.Number</p><p>End Sub</p><p><br>Function myfunct_CreateErrorLog(argERRORLOG_PATH As String, Optional argSQL_COMMAND As String) As Boolean</p><br><p><br>Dim myFSO_Objeect As Object</p><p>If IsNull(argERRORLOG_PATH) = True Then</p><p>    Exit Function<br>    <br>End If</p><p>If Len(argERRORLOG_PATH) = 0 Then</p><p>    Exit Function<br>    <br>End If</p><br><p>Set myFSO_Objeect = CreateObject("Scripting.FileSystemObject")<br>    <br>    If myFSO_Objeect.FolderExists(argERRORLOG_PATH) = False Then<br>    <br>        Exit Function<br>    <br>    End If</p><p>Set myFSO_Objeect = Nothing</p><br><p>Open argERRORLOG_PATH &amp; "\ErrLog.txt" For Output As #1</p><p>Print #1, Format(Now, "yyyy/mm/dd h:mm:ss")<br>Print #1, Application.OperatingSystem<br>Print #1, "Office " &amp; Application.Version<br>Print #1, Err.Number<br>Print #1, Err.Description<br>Print #1, argSQL_COMMAND</p><p>Close #1</p><br><p><br>End Function<br></p>
]]>
</description>
<link>https://ameblo.jp/vmxbeat/entry-11533937020.html</link>
<pubDate>Mon, 20 May 2013 01:25:51 +0900</pubDate>
</item>
<item>
<title>myfunct_SplitArray</title>
<description>
<![CDATA[ <p>Sub Macro1()</p><p>Dim myConvArray As Variant<br>Dim loop_X As Long</p><p>Dim myTemp As String</p><p>    myTemp = "おは/よう/ござ" &amp; Chr(10) &amp; "います"</p><p><br>    myConvArray = myfunct_SplitArray(myTemp)<br>    <br>    MsgBox UBound(myConvArray)<br>    <br>    For loop_X = 0 To UBound(myConvArray)<br>    <br>        MsgBox myConvArray(loop_X)<br>    <br>    Next loop_X<br>    </p><p><br>End Sub</p><p><br>Function myfunct_SplitArray(argCHARACTER As String) As Variant</p><p><br>'文字列に特定の文字が含まれていたら、その文字ごとに文字列値を分割し、配列変数に代入する</p><p><br>Const MAX_SPLITS As Integer = 255</p><p><br>Dim loop_X As Long<br>Dim loop_Y As Long</p><p>Dim myWord As String<br>Dim myChar As String                '1文字づつ代入<br>Dim mySplitSets(MAX_SPLITS) As String      '仮配列<br>Dim mySplitResults() As String      '確定配列<br>Dim myCounter As Long               '分割文字カウンター</p><p>    myWord = argCHARACTER           '対象文字列<br>    myCounter = 0                   '配列カウンター</p><p>    For loop_X = 1 To Len(myWord)<br>    <br>        Select Case Asc(StrConv(Mid(myWord, loop_X, 1), vbNarrow))<br>                <br>            Case 10, 13, 47                 '改行、またはスラッシュ<br>                                <br>                myCounter = myCounter + 1   '配列カウンター繰り上げ<br>                <br>                myChar = ""                 '文字は無視<br>                <br>                If myCounter = MAX_SPLITS Then  '上限<br>                <br>                    GoTo FUNCT_SPI_ARR_RES<br>                <br>                End If<br>                <br>            Case Else<br>                <br>                myChar = Mid(myWord, loop_X, 1)       '文字を取得<br>                <br>            End Select<br>            <br>        mySplitSets(myCounter) = mySplitSets(myCounter) &amp; myChar  '取得した文字を、配列ごとの取得済み文字列と結合<br>    <br>    Next loop_X<br>    </p><br><p>FUNCT_SPI_ARR_RES:</p><p><br>ReDim mySplitResults(myCounter)     '確定配列の最大数を宣言</p><p>    For loop_Y = 0 To myCounter     '仮配列から確定配列へ、データを移植<br>        <br>        mySplitResults(loop_Y) = mySplitSets(loop_Y)</p><p>    Next loop_Y</p><p>    Erase mySplitSets   '仮配列初期化</p><p><br>    myfunct_SplitArray = mySplitResults() '配列全体を返す</p><br><p>End Function<br></p>
]]>
</description>
<link>https://ameblo.jp/vmxbeat/entry-11531306176.html</link>
<pubDate>Thu, 16 May 2013 00:28:38 +0900</pubDate>
</item>
<item>
<title>Sample 5 3の簡素化</title>
<description>
<![CDATA[ <p>クエリオブジェクト</p><p>    'NameList 抽出</p><p>    strSQLCOMM = "SELECT IPL, CrewName, Unten, ActiveAvail, Note_CREW" &amp; Chr(10) &amp; _<br>               "FROM " &amp; "CREW_DAT" &amp; Chr(10) &amp; _<br>                "WHERE ((bNickName)='" &amp; myTargetCrew &amp; "')" &amp; Chr(10) &amp; _<br>                "ORDER BY Syozoku, RowID;"</p><p><br>    boolFlag = funct_mdbSQL_Create(myMDB_FullName, "SCH_Notes2", strSQLCOMM)<br>    <br>    <br>    Set myDB = OpenDatabase(myMDB_FullName)<br>        <br>        '情報<br>        <br>        Set myRECORD = myDB.OpenRecordset("SCH_Notes2")<br>        <br>            With myRECORD<br>                <br>                If .RecordCount &gt; 0 Then<br>                <br>                    .MoveFirst</p><p>                    myInfo(0) = myRECORD(0).Value<br>                    myInfo(1) = myRECORD(1).Value<br>                    myInfo(2) = myRECORD(2).Value<br>                    myInfo(3) = myRECORD(3).Value<br>                    myInfo(4) = myRECORD(4).Value<br>                    <br>                End If<br>                <br>            End With<br>        <br>        Set myRECORD = Nothing</p><p>        myDB.Close</p><p>    Set myDB = Nothing<br></p>
]]>
</description>
<link>https://ameblo.jp/vmxbeat/entry-11531237496.html</link>
<pubDate>Wed, 15 May 2013 22:53:48 +0900</pubDate>
</item>
<item>
<title>Sample 4 ログファイル</title>
<description>
<![CDATA[ '   ログファイルの読込<br>'<br>'    Set objTarget = CreateObject("Scripting.FileSystemObject")<br>'<br>'        Select Case objTarget.FileExists(dirLOG(1) &amp; "newWindow.log")<br>'<br>'            Case True<br>'<br>'                Open dirLOG(1) &amp; "newWindow.log" For Input As #1<br>'<br>'                    If EOF(1) = False Then Line Input #1, myNewWindow   ウインドゥタイトル<br>'                    If EOF(1) = False Then Line Input #1, myDistSheet   'シート1の名前<br>'                    If EOF(1) = False Then Line Input #1, myDistRange   '出力範囲名<br>'<br>'                Close #1<br>'<br>'            End Select<br>'<br>'    Set objTarget = Nothing<br>'<br>'<br>''   どれかが空欄なら、ブックを新規作成する<br>'<br>'    Select Case True<br>'<br>'        Case Len(myNewWindow) = 0, Len(myDistSheet) = 0, Len(myDistRange) = 0<br>'<br>'            GoTo FIN_LOG_CHECK<br>'<br>'        End Select<br>'<br>'
]]>
</description>
<link>https://ameblo.jp/vmxbeat/entry-11531235421.html</link>
<pubDate>Wed, 15 May 2013 22:50:35 +0900</pubDate>
</item>
<item>
<title>Sample 3 オブジェクトからのレコード取得</title>
<description>
<![CDATA[ <br>        Set myDB = OpenDatabase(myMDB_FullName)<br>            <br>            '店舗一覧を変数に<br>            <br>            Set myRECORD = myDB.OpenRecordset(mySQLObName(0))<br>            <br>                With myRECORD<br>                <br>                    If .RecordCount &gt; 0 Then<br>                    <br>                        .MoveFirst<br>    <br>                        Do While Not .EOF<br>                        <br>                            cntTenpo = cntTenpo + 1<br>                        <br>                            Select Case IsNull(myRECORD(0).Value)<br>                            <br>                                Case False<br>                        <br>                                    myStrStore(cntTenpo, 0) = CStr(myRECORD(0).Value)<br>                                    <br>                                Case True<br>                                    <br>                                    myStrStore(cntTenpo, 0) = ""<br>                                    <br>                                End Select<br>                                <br>                            <br>                            Select Case IsNull(myRECORD(1).Value)<br>                            <br>                                Case False<br>                        <br>                                    myStrStore(cntTenpo, 1) = CStr(myRECORD(1).Value)<br>                                    <br>                                Case True<br>                                    <br>                                    myStrStore(cntTenpo, 1) = ""<br>                                    <br>                                End Select<br>                            <br>                            Select Case IsNull(myRECORD(2).Value)<br>                            <br>                                Case False<br>                        <br>                                    myStrStore(cntTenpo, 2) = CStr(myRECORD(2).Value)<br>                                    <br>                                Case True<br>                                    <br>                                    myStrStore(cntTenpo, 2) = ""<br>                                    <br>                                End Select<br>                            <br>                        <br>                            .MoveNext<br>                        <br>                        Loop<br>                        <br>                    End If<br>                    <br>                End With<br>            <br>            Set myRECORD = Nothing<br>            <br>            myDB.Close<br>        <br>        Set myDB = Nothing<br>       
]]>
</description>
<link>https://ameblo.jp/vmxbeat/entry-11531232782.html</link>
<pubDate>Wed, 15 May 2013 22:47:29 +0900</pubDate>
</item>
<item>
<title>Sample 2 LOOP RecSet</title>
<description>
<![CDATA[ <p>Function funct_RecordSet_SCHE(CREATE_DATABASE_FULLNAME As String, SCHE_ADDRESS As String) As Long</p><p><br>'分割用 確認完了</p><br><p>'汎用   Scheduleのデータエクスポートユニット</p><br><p><br>If Len(CREATE_DATABASE_FULLNAME) = 0 Or Len(SCHE_ADDRESS) = 0 Then</p><p>    funct_RecordSet_SCHE = -1<br>    Exit Function</p><p>End If</p><br><br><p><br>'   _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/<br>'   _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/</p><p><br>'対象データベース</p><p><br>Dim myMDB_FullName As String<br>    <br>    myMDB_FullName = CREATE_DATABASE_FULLNAME<br>    </p><p>'   _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/<br>'   _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/</p><br><p><br>Dim myDB As DAO.Database<br>Dim myRECORD As DAO.Recordset</p><p>Dim myMeiboRange As Range<br>Dim myMeiboaddress As String</p><p>    myMeiboaddress = SCHE_ADDRESS</p><br><p>Dim strSQLCOMM As String<br>Dim myTmpCounter As Long<br>Dim varFlag As Variant</p><br><p><br>    Set myDB = OpenDatabase(myMDB_FullName)<br>        <br>        Set myRECORD = myDB.OpenRecordset(SCHE_DB)</p><p>            Set myMeiboRange = Range(myMeiboaddress)<br>            <br>                With myMeiboRange<br>            <br>                    For LoopEXPO = 1 To .Cells.Count<br>                    <br>                    <br>                        Select Case Len(WorksheetFunction.Substitute(CStr(.Cells(LoopEXPO).Value), Chr(EXCLUDE_HEADER_ASCII), Chr(0), 1))<br>                        <br>                        '                                       先頭アンダーバーを除いた通称の文字数が、<br>                        <br>                            Case 1 To ALLOW_NICKNAME_LEN '      空白ではなく、制限文字数以内である場合のみ<br>                            <br>                            '                                   正規データとして登録する<br>                            <br>                                myTmpCounter = myTmpCounter + 1<br>                            <br>                                myRECORD.AddNew<br>                            <br>                                myRECORD(0).Value = myTmpCounter<br>                                myRECORD(1).Value = CStr(.Cells(LoopEXPO).Value)<br>                                myRECORD(2).Value = funct_GetRed(.Cells(LoopEXPO).Interior.Color)<br>                                myRECORD(3).Value = funct_GetGreen(.Cells(LoopEXPO).Interior.Color)<br>                                myRECORD(4).Value = funct_GetBlue(.Cells(LoopEXPO).Interior.Color)<br>                                myRECORD(5).Value = funct_GetRed(.Cells(LoopEXPO).Font.Color)<br>                                myRECORD(6).Value = funct_GetGreen(.Cells(LoopEXPO).Font.Color)<br>                                myRECORD(7).Value = funct_GetBlue(.Cells(LoopEXPO).Font.Color)<br>                                myRECORD(8).Value = funct_KAIGYOU_LETTER(.Cells(LoopEXPO).NoteText, True)<br>                                myRECORD(9).Value = .Cells(LoopEXPO).Address<br>                                <br>                                varFlag = funct_StoreInfo(.Cells(LoopEXPO))<br>                                <br>                                myRECORD(10).Value = varFlag(0)<br>                                myRECORD(11).Value = varFlag(1)<br>                                myRECORD(12).Value = varFlag(2)<br>                                myRECORD(13).Value = varFlag(3)<br>                                <br>                                Erase varFlag<br>                                <br>                                myRECORD.Update<br>                                <br>                            End Select<br>                <br>                    Next<br>            <br>            <br>                End With</p><p>            Set myMeiboRange = Nothing</p><p>        Set myRECORD = Nothing</p><p>        myDB.Close</p><p>    Set myDB = Nothing</p><br><p>    funct_RecordSet_SCHE = myTmpCounter</p><br><br><p>End Function<br></p>
]]>
</description>
<link>https://ameblo.jp/vmxbeat/entry-11531229918.html</link>
<pubDate>Wed, 15 May 2013 22:42:46 +0900</pubDate>
</item>
<item>
<title>Sample 1</title>
<description>
<![CDATA[ <p>Function funct_CreateFLASH(CREATE_DATABASE_FULLNAME As String) As Variant</p><p><br>'分割用 確認完了</p><p><br>'汎用   NameListのエクスポートユニット</p><p><br>'   テンポラリ・データベースを作る → クルーリストのデータをレコードセット → 読み込んだクルーリストの件数を返す</p><br><p>If Len(CREATE_DATABASE_FULLNAME) = 0 Then<br>    <br>    funct_CreateFLASH = Array(-1, -1, -1)<br>    Exit Function</p><p>End If</p><br><p>Dim myMDB_FullName As String<br>    myMDB_FullName = CREATE_DATABASE_FULLNAME</p><br><p>Dim myDB As DAO.Database<br>Dim myRECORD As DAO.Recordset<br>Dim myTBL As DAO.TableDef</p><p><br>Dim myCrewRows(0 To 2) As Long<br>Dim myCrewRange As Range</p><p><br>Dim myTMP_ADDRESS(1 To 2) As String<br>Dim LoopEXPO As Long</p><p>Dim myRegularRange As Range<br>Dim mytraineeRange As Range<br>Dim myTmpCounter As Long<br>Dim myActivateCrews(1 To 2) As Long</p><p>Dim LoopTables As Integer<br>Dim LoopLAND As Integer<br>Dim LoopCapt As Integer</p><p>Dim strNOTES(0 To 1) As String</p><p><br>Dim boolFlag As Boolean<br>Dim varFlag As Variant<br>Dim lngDB_RES As Long<br>Dim strSQLCOMM As String</p><br><br><p><br>    <br>    'レギュラーの範囲<br>    <br>    <br>    Set myCrewRange = ActiveWorkbook.Sheets(NAME_LIST_SHEET).Range("レギュラー")</p><p>        With myCrewRange<br>        <br>            myCrewRows(1) = .Cells(.Rows.Count, 2).End(xlUp).Row<br>            myCrewRows(1) = myCrewRows(1) - 1<br>            <br>        <br>            myTMP_ADDRESS(1) = Range(.Cells(1, 1), .Cells(myCrewRows(1), .Columns.Count)).Address<br>        <br>        End With<br>        <br>    Set myCrewRange = Nothing</p><p>    '新人の範囲</p><p>    Set myCrewRange = ActiveWorkbook.Sheets(NAME_LIST_SHEET).Range("新人")</p><p>        With myCrewRange<br>        <br>            myCrewRows(2) = .Cells(.Rows.Count, 2).End(xlUp).Row<br>            myCrewRows(2) = myCrewRows(2) - 1<br>        <br>            myTMP_ADDRESS(2) = Range(.Cells(1, 1), .Cells(myCrewRows(2), .Columns.Count)).Address<br>        <br>        End With<br>        <br>    Set myCrewRange = Nothing</p><br><p>'   _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/<br>'   _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/</p><p><br>    'DBを削除する</p><p>    Set objTarget = CreateObject("Scripting.FileSystemObject")</p><p>        If objTarget.FileExists(myMDB_FullName) = True Then<br>    <br>           Kill myMDB_FullName<br>        <br>        End If</p><p>    Set objTarget = Nothing</p><p>    '---------------------------------------------------------------------------<br>    <br>    '新規作成</p><p>    Set myDB = CreateDatabase(myMDB_FullName, dbLangJapanese)<br>    <br>        myDB.Close</p><p>    Set myDB = Nothing<br>    <br>    <br>    '---------------------------------------------------------------------------<br>    <br>    'テーブル定義<br>    <br>    Set myDB = OpenDatabase(myMDB_FullName)<br>    <br>        Set myTBL = myDB.CreateTableDef(SCHE_DB)<br>        <br>            With myTBL<br>        <br>                .Fields.Append .CreateField("SortID", dbInteger)<br>                .Fields.Append .CreateField("NickName", dbText, 255)  <br>                .Fields.Append .CreateField("InteriorRed", dbInteger)<br>                .Fields.Append .CreateField("InteriorGreen", dbInteger)<br>                .Fields.Append .CreateField("InteriorBlue", dbInteger)<br>                .Fields.Append .CreateField("FontRed", dbInteger)<br>                .Fields.Append .CreateField("FontGreen", dbInteger)<br>                .Fields.Append .CreateField("FontBlue", dbInteger)<br>                .Fields.Append .CreateField("Note_SCHE", dbText, 255)<br>                .Fields.Append .CreateField("SH_Address", dbText, 255)</p><p>  .Fields("NickName").AllowZeroLength = True<br>  .Fields("Note_SCHE").AllowZeroLength = True<br>  .Fields("SH_Address").AllowZeroLength = True<br>                <br>            '   追加<br>                .Fields.Append .CreateField("InvDate", dbDouble)<br>                .Fields.Append .CreateField("Departure", dbDouble)<br>                .Fields.Append .CreateField("InvStore", dbText, 255) <br>                .Fields.Append .CreateField("SVName", dbText, 255)</p><p>  .Fields("InvStore").AllowZeroLength = True<br>  .Fields("SVName").AllowZeroLength = True<br>                <br>            End With<br>        <br>        <br>        myDB.TableDefs.Append myTBL<br>        <br>        Set myTBL = Nothing<br>        <br>        <br>        <br>        Set myTBL = myDB.CreateTableDef(CREW_DB)<br>        <br>            With myTBL<br>    <br>                .Fields.Append .CreateField("Syozoku", dbInteger)<br>                .Fields.Append .CreateField("RowID", dbLong)<br>                .Fields.Append .CreateField("IPL", dbLong)<br>                .Fields.Append .CreateField("CrewName", dbText, 255)<br>                .Fields.Append .CreateField("bNickName", dbText, 255)<br>                .Fields.Append .CreateField("Unten", dbText, 255)<br>                .Fields.Append .CreateField("Kobetsu", dbText, 255)<br>                .Fields.Append .CreateField("ActiveAvail", dbText, 255)<br>                .Fields.Append .CreateField("Note_CREW", dbText, 255)<br>                .Fields.Append .CreateField("EMail", dbText, 255)<br>                .Fields.Append .CreateField("Phonetic", dbText, 255)</p><p>                <br>.Fields("CrewName").AllowZeroLength = True<br>.Fields("bNickName").AllowZeroLength = True<br>.Fields("Unten").AllowZeroLength = True<br>.Fields("Kobetsu").AllowZeroLength = True<br>.Fields("ActiveAvail").AllowZeroLength = True<br>.Fields("Note_CREW").AllowZeroLength = True<br>.Fields("EMail").AllowZeroLength = True<br>.Fields("Phonetic").AllowZeroLength = True</p><p>            End With<br>        <br>        myDB.TableDefs.Append myTBL<br>        <br>        <br>        <br>        Set myTBL = myDB.CreateTableDef(ACTB_DB)<br>        <br>            With myTBL<br>    <br>                .Fields.Append .CreateField("Act_WorkBook", dbText, 255)<br>  .Fields("Act_WorkBook").AllowZeroLength = True<br>            <br>            End With<br>        <br>        myDB.TableDefs.Append myTBL<br>        <br>        <br>        <br>        <br>        </p><p>'   _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/<br>'   _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/<br>        <br>        <br>    '   リストのインポート<br>        <br>        <br>        Erase myActivateCrews<br>        <br>        <br>        Set myRECORD = myDB.OpenRecordset(CREW_DB)<br>        <br>            For LoopTables = 1 To 2<br>    <br>            '   1回目 → レギュラー<br>            '   2 → 新人<br>    <br>                Set myCrewRange = ActiveWorkbook.Sheets(NAME_LIST_SHEET).Range(myTMP_ADDRESS(LoopTables))<br>                <br>                    With myCrewRange<br>                <br>                        For LoopEXPO = 1 To .Rows.Count<br>                        <br>                            For LoopLAND = 1 To .Columns.Count<br>                            <br>                            '   ワークシート上にエラー値が存在する<br>                        <br>                                If IsError(.Cells(LoopEXPO, LoopLAND).Value) = True Then<br>                                                    <br>                                '   エラーCallBackを返す<br>                                    <br>                                    funct_CreateFLASH = Array(-3, -1, -1)<br>                                    <br>                                    Set myCrewRange = Nothing<br>                                    Set myRECORD = Nothing<br>                                    Set myTBL = Nothing<br>                            <br>                                    myDB.Close<br>                            <br>                                    Set myDB = Nothing<br>                                    <br>                                    Exit Function<br>                        <br>                                End If<br>                        <br>                            Next LoopLAND<br>                        <br>                            Select Case True<br>                        <br>                                Case (Val(.Cells(LoopEXPO, 1).Value) &gt; 0) And (Len(.Cells(LoopEXPO, 2).Value) &gt; 0) And (Len(.Cells(LoopEXPO, 3).Value) &gt; 0)<br>                                <br>                                    myTmpCounter = myTmpCounter + 1<br>                                <br>                                    myRECORD.AddNew<br>                                <br>                                    myRECORD(0).Value = LoopTables<br>                                    myRECORD(1).Value = .Cells(LoopEXPO, 1).Row<br>                                    myRECORD(2).Value = Val(.Cells(LoopEXPO, 1).Value)<br>                                    myRECORD(3).Value = CStr(.Cells(LoopEXPO, 2).Value)<br>                                    myRECORD(4).Value = CStr(.Cells(LoopEXPO, 3).Value)<br>                                    myRECORD(5).Value = CStr(.Cells(LoopEXPO, 4).Value)<br>                                    myRECORD(6).Value = CStr(.Cells(LoopEXPO, 5).Value)<br>                                    myRECORD(7).Value = CStr(.Cells(LoopEXPO, 6).Value)<br>                                    <br>                                    If Len(myRECORD(7).Value) &gt; 0 Then<br>                                    <br>                                        myActivateCrews(LoopTables) = myActivateCrews(LoopTables) + 1<br>                                    <br>                                    End If<br>                                    <br>                                    <br>                                '   全配列のコメントを取得する<br>                                    Erase strNOTES<br>                                    <br>                                    For LoopLAND = 1 To .Columns.Count<br>                                    <br>                                        strNOTES(1) = CStr(.Cells(LoopEXPO, LoopLAND).NoteText)<br>                                    <br>                                        If Len(strNOTES(0)) = 0 And Len(strNOTES(1)) &gt; 0 Then<br>                                        <br>                                            strNOTES(0) = strNOTES(1)<br>                                            <br>                                        ElseIf Len(strNOTES(0)) &gt; 0 And Len(strNOTES(1)) &gt; 0 Then<br>                                        <br>                                            strNOTES(0) = strNOTES(0) &amp; CONV_CR_LETTER &amp; strNOTES(1)<br>                                            <br>                                        End If<br>                                    <br>                                    Next LoopLAND<br>                                        <br>                                <br>                                    strNOTES(0) = funct_KAIGYOU_LETTER(strNOTES(0), True) '改行を $ に置き換える（データベースの障害防止）<br>                                    myRECORD(8).Value = strNOTES(0)<br>                                    <br>                                    <br>                                '   メアド<br>                                    myRECORD(9).Value = CStr(.Cells(LoopEXPO, 7).Value)<br>                                        <br>                                        <br>                                    myRECORD.Update<br>                                    <br>                                    Erase strNOTES<br>                                    <br>                                    <br>                                End Select<br>                    <br>                        Next<br>                <br>                <br>                    End With<br>    <br>                Set myCrewRange = Nothing<br>    <br>            Next LoopTables</p><p>        Set myRECORD = Nothing<br>        Set myTBL = Nothing<br>        <br>        <br>        <br>    '   ワークブック名<br>        <br>        Set myRECORD = myDB.OpenRecordset(ACTB_DB)<br>        <br>            With myRECORD<br>            <br>                .AddNew<br>                <br>                myRECORD(0).Value = ActiveWorkbook.Name<br>                <br>                .Update<br>        <br>            End With<br>        <br>        Set myRECORD = Nothing<br>        <br>        <br>        </p><p>        myDB.Close</p><p>    Set myDB = Nothing<br>    <br>    </p><p>'   _-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~_-~</p><p>'   NameList 重複チェック</p><p>'       必須項目の重複を排除する</p><p>    <br>'   ① IPL重複抽出クエリ<br>    <br>        strSQLCOMM = "SELECT IPL" &amp; Chr(10) &amp; _<br>                   "FROM " &amp; CREW_DB &amp; Chr(10) &amp; _<br>                   "GROUP BY IPL" &amp; Chr(10) &amp; _<br>                  "HAVING (((Count(Syozoku))&gt;1));"<br>    <br>    <br>        boolFlag = funct_mdbSQL_Create(myMDB_FullName, CREW_DB_CHK1, strSQLCOMM)<br>    <br>'   ② 通称重複抽出クエリ</p><p>        strSQLCOMM = "SELECT bNickName" &amp; Chr(10) &amp; _<br>                   "FROM " &amp; CREW_DB &amp; Chr(10) &amp; _<br>                   "GROUP BY bNickName" &amp; Chr(10) &amp; _<br>                  "HAVING (((Count(Syozoku))&gt;1));"<br>    <br>    <br>        boolFlag = funct_mdbSQL_Create(myMDB_FullName, CREW_DB_CHK2, strSQLCOMM)</p><p>'   ③ EMail重複抽出クエリ</p><p>        strSQLCOMM = "SELECT EMail" &amp; Chr(10) &amp; _<br>                   "FROM " &amp; CREW_DB &amp; Chr(10) &amp; _<br>                   "GROUP BY EMail" &amp; Chr(10) &amp; _<br>                  "HAVING (((Count(Syozoku))&gt;1));"<br>    <br>    <br>        boolFlag = funct_mdbSQL_Create(myMDB_FullName, CREW_DB_CHK3, strSQLCOMM)<br>        <br>        <br>'   ④ 通称の文字列</p><p>        strSQLCOMM = "SELECT bNickName" &amp; Chr(10) &amp; _<br>                   "FROM " &amp; CREW_DB &amp; Chr(10) &amp; _<br>                   "GROUP BY bNickName" &amp; Chr(10) &amp; _<br>                  "HAVING (((Len(bNickName))&gt;" &amp; ALLOW_NICKNAME_LEN &amp; "));"<br>    <br>    <br>        boolFlag = funct_mdbSQL_Create(myMDB_FullName, CREW_DB_CHK4, strSQLCOMM)<br>        </p><p><br>'   ⑤ 新規テーブルを作って、IPL重複レコードを追加する<br>    <br>        strSQLCOMM = "SELECT " &amp; CREW_DB &amp; ".IPL, CrewName AS 氏名, bNickName AS 通称, EMail, " &amp; _<br>                                "IIf([Syozoku] Is Null,'','') AS 通称_Len, " &amp; _<br>                                "IIf([Syozoku] Is Null,'●','●') AS IPL_Dup, " &amp; _<br>                                "IIf([Syozoku] Is Null,'','') AS 通称_Dup, " &amp; _<br>                                "IIf([Syozoku] Is Null,'','') AS EMail_Dup" &amp; _<br>                      " INTO " &amp; CREW_ERR_DB &amp; Chr(10) &amp; _<br>                       "FROM " &amp; CREW_DB &amp; _<br>                 " LEFT JOIN " &amp; CREW_DB_CHK1 &amp; _<br>                        " ON " &amp; CREW_DB &amp; ".IPL = " &amp; CREW_DB_CHK1 &amp; ".IPL" &amp; Chr(10) &amp; _<br>                   "WHERE (((" &amp; CREW_DB_CHK1 &amp; ".IPL) Is Not Null));"</p><p>        lngDB_RES = funct_mdbSQL_NEWTBL(myMDB_FullName, strSQLCOMM, CREW_ERR_DB)</p><br><p>'   ⑥ 通称重複レコードを、⑤のテーブルに追加する</p><p>        strSQLCOMM = "INSERT INTO " &amp; CREW_ERR_DB &amp; " ( IPL, 氏名, 通称, EMail, 通称_Len, IPL_Dup, 通称_Dup, EMail_Dup )" &amp; Chr(10) &amp; _<br>                              "SELECT IPL, CrewName AS 氏名, " &amp; CREW_DB &amp; ".bNickName AS 通称, EMail, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'','') AS 通称の文字数, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'','') AS IPL重複, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'●','●') AS 通称重複, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'','') AS EMail重複" &amp; Chr(10) &amp; _<br>                            "FROM " &amp; CREW_DB &amp; _<br>                      " LEFT JOIN " &amp; CREW_DB_CHK2 &amp; _<br>                             " ON " &amp; CREW_DB &amp; ".bNickName = " &amp; CREW_DB_CHK2 &amp; ".bNickName" &amp; Chr(10) &amp; _<br>                        "WHERE (((" &amp; CREW_DB_CHK2 &amp; ".bNickName) Is Not Null));"</p><p><br>        lngDB_RES = lngDB_RES + funct_mdbSQL_ADDON(myMDB_FullName, strSQLCOMM, CREW_ERR_DB)</p><p><br>'   ⑦ EMail重複レコードを、⑤のテーブルに追加する</p><p>        strSQLCOMM = "INSERT INTO " &amp; CREW_ERR_DB &amp; " ( IPL, 氏名, 通称, EMail, 通称_Len, IPL_Dup, 通称_Dup, EMail_Dup )" &amp; Chr(10) &amp; _<br>                              "SELECT IPL, CrewName AS 氏名, bNickName AS 通称, " &amp; CREW_DB &amp; ".EMail, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'','') AS 通称の文字数, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'','') AS IPL重複, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'','') AS 通称重複, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'●','●') AS EMail重複" &amp; Chr(10) &amp; _<br>                            "FROM " &amp; CREW_DB &amp; _<br>                      " LEFT JOIN " &amp; CREW_DB_CHK3 &amp; _<br>                             " ON " &amp; CREW_DB &amp; ".EMail = " &amp; CREW_DB_CHK3 &amp; ".EMail" &amp; Chr(10) &amp; _<br>                   "WHERE (((IIf([" &amp; CREW_DB &amp; "].[EMail] Is Null Or Len([" &amp; CREW_DB &amp; "].[EMail])=0,0,1))=1)" &amp; _<br>                          " AND ((" &amp; CREW_DB_CHK3 &amp; ".EMail) Is Not Null));"</p><p>    <br>        lngDB_RES = lngDB_RES + funct_mdbSQL_ADDON(myMDB_FullName, strSQLCOMM, CREW_ERR_DB)</p><p><br>'   ⑧ 通称の制限文字列オーバーを、⑤のテーブルに追加する</p><p>        strSQLCOMM = "INSERT INTO " &amp; CREW_ERR_DB &amp; " ( IPL, 氏名, 通称, EMail, 通称_Len, IPL_Dup, 通称_Dup, EMail_Dup )" &amp; Chr(10) &amp; _<br>                              "SELECT IPL, CrewName AS 氏名, " &amp; CREW_DB &amp; ".bNickName AS 通称, " &amp; CREW_DB &amp; ".EMail, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'" &amp; ALLOW_NICKNAME_LEN &amp; "文字以下に','" &amp; ALLOW_NICKNAME_LEN &amp; "文字以下に') AS 通称の文字数, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'','') AS IPL重複, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'','') AS 通称重複, " &amp; _<br>                                     "IIf([Syozoku] Is Null,'','') AS EMail重複" &amp; Chr(10) &amp; _<br>                            "FROM " &amp; CREW_DB &amp; _<br>                      " LEFT JOIN " &amp; CREW_DB_CHK4 &amp; _<br>                             " ON " &amp; CREW_DB &amp; ".bNickName = " &amp; CREW_DB_CHK4 &amp; ".bNickName" &amp; Chr(10) &amp; _<br>                        "WHERE (((" &amp; CREW_DB_CHK4 &amp; ".bNickName) Is Not Null));"<br>    <br>        lngDB_RES = lngDB_RES + funct_mdbSQL_ADDON(myMDB_FullName, strSQLCOMM, CREW_ERR_DB)</p><br><p>'   ⑨ 最終エラーリスト</p><p>        strSQLCOMM = "SELECT IPL, 氏名, 通称, EMail, Max(通称_Len) AS 通称の文字数, Max(IPL_Dup) AS IPL重複, Max(通称_Dup) AS 通称重複, Max(EMail_Dup) AS EMail重複" &amp; Chr(10) &amp; _<br>                   "FROM " &amp; CREW_ERR_DB &amp; Chr(10) &amp; _<br>                   "GROUP BY IPL, 氏名, 通称, EMail;"<br>    <br>        boolFlag = funct_mdbSQL_Create(myMDB_FullName, CREW_ERR_XLS, strSQLCOMM)</p><br><br><br><br><p><br>    If lngDB_RES &gt; 0 Then</p><p>    '   何かしらの重複レコードがある場合<br>    <br>    '   新規ブックにエラーリストを作る</p><p>        Workbooks.Add<br>        Sheets(1).Select</p><p>            strSQLCOMM = "SELECT *" &amp; Chr(10) &amp; "FROM " &amp; CREW_ERR_XLS<br>            varFlag = funct_SQL_ODBC(dirODBC(1) &amp; ODBC_FLASH, "A1", strSQLCOMM, True, True)</p><p>        '   エラーCallBackを返す<br>        <br>            funct_CreateFLASH = Array(-2, -1, -1)</p><p><br>    Else<br>    <br>        '   取得結果のCallBackを返す</p><p>                            '   戻り値<br>    <br>                                  '総登録人数   レギュラー          新人<br>        funct_CreateFLASH = Array(myTmpCounter, myActivateCrews(1), myActivateCrews(2))</p><p><br>    End If</p><br><br><br><br><br><p>End Function<br></p>
]]>
</description>
<link>https://ameblo.jp/vmxbeat/entry-11531227190.html</link>
<pubDate>Wed, 15 May 2013 22:40:20 +0900</pubDate>
</item>
</channel>
</rss>
