Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 即使在刷新数据库窗口后也不显示表_Sql_Vba_Ms Access_Ado - Fatal编程技术网

Sql 即使在刷新数据库窗口后也不显示表

Sql 即使在刷新数据库窗口后也不显示表,sql,vba,ms-access,ado,Sql,Vba,Ms Access,Ado,我试图将excel工作表中的一些列(实际上包含156列x 16k行)拉入一个使用SELECT columns动态创建的表中,并将其拉入到TEMPO from…,但尽管代码已执行,但该表并未显示在导航窗格中。有时,它会在表已经存在的.Execute StrSQL行上出错 我尝试检查表是否存在,然后删除它或在隐藏的Sys表中删除它,但它没有显示。正如您看到的注释代码一样,我也尝试了RefreshDatabaseWindow和CurrentDb.TableDefs.Refresh,但table仍然没有

我试图将excel工作表中的一些列(实际上包含156列x 16k行)拉入一个使用SELECT columns动态创建的表中,并将其拉入到TEMPO from…,但尽管代码已执行,但该表并未显示在导航窗格中。有时,它会在表已经存在的.Execute StrSQL行上出错

我尝试检查表是否存在,然后删除它或在隐藏的Sys表中删除它,但它没有显示。正如您看到的注释代码一样,我也尝试了RefreshDatabaseWindow和CurrentDb.TableDefs.Refresh,但table仍然没有显示

我还尝试了DoCmd.TransferSpreadsheet来拉入工作表数据,但结果是记录错误太大。同样对于DoCmd.TransferSpreadsheet,不能选择非相邻列。此外,在某些其他excel工作表提取中,列的顺序可能不相同

DoCmd.transfer电子表格导入、acSpreadsheetTypeExcel12、节奏、文件选择器、True、SOAP$ 有人能帮我修改代码吗

子抓取数据 DoCmd.SetWarnings错误 Dim数据库作为DAO.Database 作为字符串的Dim strSQL 作为对象的Dim objCon 作为对象的Dim OBJR Dim conStr As字符串 '出现错误时,请继续下一步 'strSQL=下拉表节奏; 'DoCmd.RunSQL strSQL 'DoCmd.DeleteObject可执行,节奏 如果istableexistempo,则CurrentDb.executedrop TABLE TEMPO,dbFailOnError 设置objCon=CreateObjectADODB.Connection Set objRS=CreateObjectADODB.Recordset strSQL=SELECT strSQL=strSQL&[GTIN]、[PVID]、[Version Date]、[Languages on Pack]、[Description]、[Brand]、[Features], strSQL=strSQL&[其他信息],[商标信息],[安全警告],[国家], strSQL=strSQL&[制造商地址],[进口商地址],[返回目的地],[网址],[回收], strSQL=strSQL&[回收其他文本],[尺寸:捕获高度mm],[毛重g], strSQL=strSQL&[成分],[营养],[每100能量千焦],[每100能量千卡],[每100脂肪克], strSQL=strSQL&[每100份饱和脂肪g],[每100份碳水化合物g],[每100份总糖g], strSQL=strSQL&[每100蛋白质克],[每100纤维克],[每100钠克],[每100盐克], strSQL=strSQL&[PerServing PortionType]、[PerServing Energy kJ]、[PerServing Energy kcal], strSQL=strSQL&[保留脂肪g],[保留脂肪g],[保留碳水化合物g], strSQL=strSQL&[保留其中的总糖g],[保留蛋白质g],[保留纤维g], strSQL=strSQL&[残留盐g],[净含量] strSQL=strSQL&进入节奏 strSQL=strSQL&FROM[Soaps$] strSQL=strSQL&由[GTIN]、[PVID]、[Version Date]订购 'strSQL=strSQL&FROM[excel12.0xml;HDR=YES;IMEX=1;Database=&FileSelector&].[Drinks$] 用objCon .provider=Microsoft.ACE.OLEDB.12.0; .ConnectionString=数据源=&FileSelector&;扩展属性=Excel 12.0;HDR=是;IMEX=0; 打开 设置objRS=.ExecutestrSQL 以 Application.RefreshDatabaseWindow 'CurrentDb.TableDefs.Refresh 设置objRS=Nothing 设置objCon=Nothing DoCmd.SetWarnings True 端接头 下面是检查表是否存在的函数

函数IsTableExistBlName作为字符串作为布尔值 IsTableExists=False 如果不是IsNullDLookupName,MSysObjects,Name='&TblName&',并键入1,4,6,则IsTableExists=True 端函数 下面是选择文件名和路径名的函数

函数FileSelector作为字符串 作为对象的Dim-dlg 设置dlg=Application.FileDialog3'msoFileDialogFilePicker 与dlg .Title=选择要导入的Excel数据提取 .AllowMultiSelect=False .过滤器 .Filters.Add Excel文件,*.xlsx,1 如果.Show=-1,则 FileSelector=.SelectedItems1 其他的 终止 如果结束 以 设置dlg=Nothing 端函数
只需删除任何与Excel工作簿的ADO连接,并在MS Access查询中内联运行Excel连接即可。然后,使用CurrentDb执行生成表查询。执行:

strSQL=SELECT strSQL=strSQL&[GTIN]、[PVID]、[Version Date]、[Languages on Pack]、[Description]、[Brand]、[Features], strSQL=strSQL&[其他信息],[商标信息],[安全警告],[国家], strSQL=strSQL&[制造商地址],[进口商地址],[返回目的地],[网址],[回收], strSQL=strSQL&[回收其他文本],[尺寸:捕获高度mm],[毛重g], strSQL=strSQL&[成分],[营养],[每100能量千焦],[每100能量千卡],[每100脂肪克], strSQL=strSQL&[每100份饱和脂肪g],[每100份碳水化合物g],[每100份总糖g], strSQL=strSQL&[每100蛋白质克],[每100纤维克],[每100钠克],[每100盐克], strSQL=strSQL&[PerServing PortionType]、[PerServing Energy kJ]、[PerServing Energy kcal], strSQL=strSQ