Vba中如何根据流向,货物类型,计费重量在另外的表中找出价格
时间: 2024-11-22 17:40:43 浏览: 9
在VBA中,由于Variant类型的灵活性,你可以使用它来处理不同数据类型的计费权重和货物类型。然而,这可能会牺牲一定的性能。以下是处理此问题的一种示例方法:
1. 首先,假设你有两个表,一个存储货物类型( GoodsTypes 表)和价格信息( PricingTable 表),以及一个表单或模块变量`flow`代表流向,`weight`代表计费重量,它们都是Variant类型。
```vba
Dim flow As Variant, weight As Variant
' 假设从用户输入或其他源获取流和重量值
' 检查流、货物类型和重量是否已定义
If Not IsNull(flow) And Not IsNull(weight) Then
' 使用If...Then...Else...结构来处理可能的不同数据类型
If flow = "Inbound" Then
' 假设PricingTable有一个名为"Inbound_Price"的字段
price = PricingTable("Inbound_Price")
ElseIf flow = "Outbound" Then
' 对于流出,查找对应的价格
price = PricingTable("Outbound_Price")
End If
' 如果重量是数字,尝试找到按重量定价的列
If IsNumeric(weight) Then
price *= weight
Else ' 如果是文本,可能需要进一步处理,比如搜索特定关键字
'price = FindPriceByDescription(weight)
End If
End If
```
请注意,这里的`FindPriceByDescription`函数需要根据实际的货物类型描述来实现,可能涉及到数据库查询或者其他逻辑。
阅读全文