|
ºòÆü¤Î³¤¤Ç¤¹¡£
²£Ã夹¤ë¤¿¤á¤Î Access ÍÑ¥×¥í¥°¥é¥à¤Ç¤¹¡£ºòÆü¤Î¥À¥ß¡¼¤ÈÃÖ¤´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£
Excel ¤ÈAccess ¤Ç¤Ï¿ôÃͤδÉÍý¤¬°ã¤¦¤é¤·¤¯¡¢¾®¿ô¤ÎÈó¾ï¤Ë¾®¤µ¤Ê¤È¤³¤í¤ÇÈù̯¤Êº¹¤¬½Ð¤Þ¤¹¡£ÆüÉդ⾮¿ô¤Ê¤Î¤Ç¡¢¥ê¥ó¥¯¤·¤¿ Excel ¥·¡¼¥ÈÆâ¤òʬñ°Ì¤Ç»þ´Ö¤Î¸¡º÷¤·¤Æ¤â¤¦¤Þ¤¯¥Þ¥Ã¥Á¤·¤Ê¤¤»þ¹ï¤¬¤¤¤¯¤Ä¤«½Ð¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¾¯¤·¤´¤Þ¤«¤·¤ÆÈæ³Ó¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Ê¬Â¤òÊݸ¤¹¤ë Access ¥Æ¡¼¥Ö¥ë¤Î̾Á°¤Ï»ä¤¬»È¤Ã¤Æ¤¤¤ë¤â¤Î¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Å¬Åö¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¥Æ¡¼¥Ö¥ë¤¬¶õ¤Î¤È¤¤ä¥ï¡¼¥¯¥·¡¼¥È¤¬ÊѤï¤Ã¤¿¤È¤¤Ï¡¢1Æüʬ¤ò¼ê¤Ç¥³¥Ô¥Ú¤·¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¤¬¡¢Ç¯¤Ë2²ó¤Î¤¿¤á¤Ë¹Í¤¨¤ë¤Î¤ÏÌÌÅݤʤΤǼ«Æ°²½¤·¤Æ¤¤¤Þ¤»¤ó¡£
' Excel ¤Ç¤Ïư¤¤Þ¤»¤ó
Function ʬ¥ǡ¼¥¿¤Î¼èÆÀ(SourceExcel As String, TypeIndex As Integer)
' Excel ¥Õ¥¡¥¤¥ë¤ò Access ¤Î¥ê¥ó¥¯¥Æ¡¼¥Ö¥ë¤È¤·¡¢¿·µ¬¥Ç¡¼¥¿¤Î¤ß¤òÃê½Ð¤¹¤ë
' ʬ¥ե¡¥¤¥ë¤¬Á´¤¯¶õ¤À¤È¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤¢¤é¤«¤¸¤á 1 Æüʬ¤Ï¼ê¤Ç¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£
Dim ʬ¥ե¡¥¤¥ë As String
' ʬ¤òÊݸ¤¹¤ë Access ¥Æ¡¼¥Ö¥ë (¥Õ¥£¡¼¥ë¥É: ÆüÉÕ, »þ´Ö, »ÏÃÍ, ¹âÃÍ, °ÂÃÍ, ½ªÃÍ, ½ÐÍè¹â)
Select Case TypeIndex
Case Index_N225Àèʪlarge_1min
ʬ¥ե¡¥¤¥ë = "N225Àèʪ_1ʬ" ' ŬÅö¤Ë
Case Index_N225Àèʪmini_1min
ʬ¥ե¡¥¤¥ë = "N225Àèʪmini_1ʬ"
End Select
Dim rst As Recordset
Dim ¹¹¿·Á°ÆüÉÕ As Date, ¹¹¿·Á°»þ´Ö As Date, ¹¹¿·¸åÆüÉÕ As Date, ¹¹¿·¸å»þ´Ö As Date
Set rst = CurrentDb.OpenRecordset(ʬ¥ե¡¥¤¥ë)
¹¹¿·Á°ÆüÉÕ = DMax("ÆüÉÕ", ʬ¥ե¡¥¤¥ë)
¹¹¿·Á°»þ´Ö = DMax("»þ´Ö", ʬ¥ե¡¥¤¥ë, "ÆüÉÕ=#" & ¹¹¿·Á°ÆüÉÕ & "#")
Dim ExcelLink As String
ExcelLink = "n1" ' ²¿¤Ç¤âÎɤ¤
Dim tblLinked As TableDef
Dim LinkSourcePath As String, LinkDatabase As String
Set tblLinked = CurrentDb.CreateTableDef(ExcelLink)
' ¤ª¤Þ¤¸¤Ê¤¤¤Î¸ÀÍդϡ¢»î¤·¤Ë¥ê¥ó¥¯¤·¤Æ¤½¤ÎÃͤòÆÉ¤ó¤ÇÄ´¤Ù¤ë
tblLinked.Connect = "Excel 8.0;HDR=NO;IMEX=2;DATABASE=" & SourceExcel
' ¥ï¡¼¥¯¥·¡¼¥È¤¬ÊѤï¤Ã¤¿¤È¤¡¢¿·¥·¡¼¥È¤Î 1 Æüʬ¤Ï¼ê¤Ç¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£
tblLinked.SourceTableName = "'1ʬ¢$'" ' ¥ê¥ó¥¯¤¹¤ë¥ï¡¼¥¯¥·¡¼¥È̾
CurrentDb.TableDefs.Append tblLinked
Dim qdf As QueryDef
Set qdf = CurrentDb.CreateQueryDef("", "select * from " & ExcelLink & " where F7>=0")
Set rst = qdf.OpenRecordset
' Excel ¤È Access ¤ÇÆüÉդνèÍý¤¬Èù̯¤Ë°ã¤¦¤è¤¦¤Ç¡¢ÁÇľ¤Ëõ¤»¤Ê¤¤
rst.FindFirst "F1=#" & ¹¹¿·Á°ÆüÉÕ & "# and hour(F2)=" & Hour(¹¹¿·Á°»þ´Ö)
Dim strSQL As String
If Not rst.NoMatch Then
strSQL = "INSERT INTO " & ʬ¥ե¡¥¤¥ë & " ( ÆüÉÕ, »þ´Ö, »ÏÃÍ, ¹âÃÍ, °ÂÃÍ, ½ªÃÍ, ½ÐÍè¹â )" _
& " select F1,F2,F3,F4,F5,F6,F7 from (select * from " & ExcelLink & " where F7>=0)" _
& " where (F1=#" & ¹¹¿·Á°ÆüÉÕ & "# and F2>#" & ¹¹¿·Á°»þ´Ö & "#) or F1>#" & ¹¹¿·Á°ÆüÉÕ & "#"
Set qdf = CurrentDb.CreateQueryDef("", strSQL)
qdf.Execute
End If
CurrentDb.TableDefs.Delete ExcelLink
¹¹¿·¸åÆüÉÕ = DMax("ÆüÉÕ", ʬ¥ե¡¥¤¥ë)
¹¹¿·¸å»þ´Ö = DMax("»þ´Ö", ʬ¥ե¡¥¤¥ë, "ÆüÉÕ=#" & ¹¹¿·¸åÆüÉÕ & "#")
If ¹¹¿·Á°ÆüÉÕ <> ¹¹¿·¸åÆüÉÕ Or ¹¹¿·Á°»þ´Ö <> ¹¹¿·¸å»þ´Ö Then
ʬ¥ǡ¼¥¿¤Î¼èÆÀ = IIf(TypeIndex = Index_N225Àèʪlarge_1min, "Æü·ÐÀèʪ", "Æü·ÐÀèʪ¥ß¥Ë") _
& "¤Î1ʬ¥ǡ¼¥¿¤Ï" & ¹¹¿·¸åÆüÉÕ & " " & ¹¹¿·¸å»þ´Ö & " ¤Þ¤Ç¼èÆÀ¤·¤Þ¤·¤¿¡£"
Else
ʬ¥ǡ¼¥¿¤Î¼èÆÀ = IIf(TypeIndex = Index_N225Àèʪlarge_1min, "Æü·ÐÀèʪ", "Æü·ÐÀèʪ¥ß¥Ë") _
& "¤Î¿·¤·¤¤¥Ç¡¼¥¿¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£"
End If
End Function
|