小编Dir*_*ffy的帖子

直接从Excel中选择AS400查询记录

我一直在网上搜索数小时试图找出以下是否可能:
直接从Excel中选择AS400查询记录.

我没有找到任何解决方案或描述如何实现这一点,这让我觉得它根本不可能.但是,我没有看到有人确认这是不可能的.
所以我的问题是:这可能吗?如果是的话,你能指出我正确的方向,以便我开始学习如何去做吗?

我知道可以从Excel运行查询,然后通过SQL语句添加参数,但在我的情况下,这提出了一些问题,可以通过在执行查询之前选择记录来避免这些问题.

示例:
我有一个列(可以调用它ColVal)的查询,它可以保存值1和/或2.在AS400程序的"使用查询"菜单下,然后"选择记录"我可以指定查询的哪些记录应该包含何时基于其中的值运行ColVal.这意味着当我运行查询时,我可以得到三种不同的情况(A,B和C):

A)查询仅包含值为ColVal1的记录
.B)查询仅包含值为ColVal2的
记录.C)查询包含值为ColVal1或2的记录

目标是能够从Excel中选择我想要的情况,以避免打开和使用AS400程序.
但是,使用情境C然后使用SQL语句编辑Excel中的查询以模拟情境A或B不是一个选项,因为这意味着查询仍包含不需要的记录.

整个过程归结为以下几点:甚至可以从Excel运行查询本质上更改它包含的数据而不仅仅是将其输出到Excel?如果可以,那么是否可以将参数传递给AS400系统并使用它来创建情境A,B或C?

我希望这个例子有意义.

编辑 - 新示例

假设我有不同的客户A和B.我可以打开AS400程序并运行一个查询,其中我已经指定我只需要客户A上的数据.然后我可以打开Excel并使用过滤器(如Hambone描述的)查询到确定我想要输出的记录.但是,如果我想处理来自客户B的数据,我必须再次打开AS400并使用不同的参数运行查询.我希望能够从Excel中将我的数据集从客户A"更改"到B,而不必在我的记录集中包含这两个数据集,然后过滤掉其中一个.

我想如果你可以将参数传递给AS400,这是可行的.然后,AS400使用此参数作为记录应存储在查询中的条件运行查询.这意味着如果参数是客户B,则无法从客户A访问数据,而无需再次通过AS400运行查询.

任何想法都非常感谢:)

sql database-connection parameter-passing excel-vba ibm-midrange

1
推荐指数
1
解决办法
744
查看次数

Excel VBA 循环遍历列并根据单元格值插入行

你好!

我正在尝试构建一个代码,该代码循环遍历范围 C8:C3276 中的每个单元格,如果单元格值为“总计”,则在下方插入一个新行。

这是我到目前为止的代码:

Sub Create_new_rows()

Dim rng As Range
Dim cell As Range
Set rng = Range("C8:C3276")

For Each cell In rng

If ActiveCell.Value = "Total" Then
ActiveCell.Offset(1, 0).Activate
ActiveCell.EntireRow.Insert
End If

Next cell

End Sub
Run Code Online (Sandbox Code Playgroud)

当我执行代码时没有任何反应。我假设在宏运行时代码构建不正确(我没有收到错误消息),但没有做任何事情。

任何帮助是极大的赞赏!:)

excel vba loops row insert

0
推荐指数
1
解决办法
4688
查看次数