我很难使用Microsoft构建数据库和应用程序,而且业务需求仍然很不稳定。我期望从访问到基于浏览器的解决方案。有很多解决方案可以将数据库移动到一个新的平台上,所以我更关心前端开发。现在,在Access中,我能做些什么来设计业务逻辑和UI代码,以便以最小的痛苦和返工来实现未来的移动?
发布于 2018-04-19 18:41:26
如果您用c++编写代码,但又想使用web代码(如JavaScript ),那么您将讨论一种非常不同的语言和编程。
另外,如果您用JavaScript编写代码,但计划在将来使用FoxPro或c#,那么您将再次使用一种非常不同的编程语言。
所以说到底,Access中的编程语言是VBA,它肯定不会在asp.net中运行。
但是,您可以转储c#并使用vb.net。
如果您采用vb.net,那么您的VBA代码的重要部分将转移到asp.net + MVC。
除非您愿意直截了当地声明您将为asp.net/mvc应用程序选择vb.net,否则您的提问就没有任何意义,而且与asp.net和您编写的代码没有什么关系。
您不能使用您在Access中为未来项目编写的代码,因此这对您来说确实是一个蹩脚的问题。
但是,如果您声明愿意使用vb.net来代替c#,则可以采用许多方法,允许在使用asp.net时很少更改您的代码。
所以这里的主要建议是,既然您的代码是用VBA编写的,那么如果您真的在这里提出一个诚实的问题,并且真的希望将代码传输到asp.net,那么最好的建议是在Visual中使用vb.net。
虽然Access中的表单代码不会传输到vb.net,但标准代码模块以及您在Access中编写的类对象也将在很少更改的情况下传输。(假设您采用vb.net)。
这意味着您可能希望确保“通用”代码例程不是放在表单中,而是放在标准代码模块中。
但是,如果您不愿意使用vb.net作为asp.net应用程序的编程语言,那么您的问题就没有意义了,因为VBA和c#有很大的不同。
所以最好的选择是使用vb.net,因为用VBA/Access编写的代码模块将在很少变化的情况下传输到vb.net。在Access中编写+创建的类对象代码也是如此,再一次,用Access/VBA编写的类对象代码可以移动到几乎为零的vb.net中。因此,您用VBA编写的类对象确实可以很好地传输到vb.net。
如果这个问题是关于数据结构和表的,那么还有其他提示,但是您的问题仅限于编写代码,而不是您计划使用的数据库或数据系统。(这将是一个不同的新问题,而不是如何在传输到asp.net的Access中编写代码(答案很简单--使用vb.net + asp.net)。
为了防止进一步的下降,我将用真正的代码演示这一点。
假设您需要一个例程,在选择一个文件之后,您希望检查该文件是否存在于一个文件夹中,如果存在,则追加一个数字。
所以如果
MyData.zip存在,那么例程将返回
MyData02.zip
这是一段常见的代码。下面的Access代码工作正常,然后在生产asp.net应用程序中使用。因为我选择了Vb.net,所以我可以直接从Access粘贴VBA代码,并在实际生产的asp.net应用程序中使用这段代码。请注意,VBA中的代码与asp.net中的代码是100%相同的
Public Function GetServerFile(strFile As String) As String
Dim strDir As String
Dim strF As String
Dim i As Integer
strDir = UpLoadFolderPath()
' check if file already exist - start increamnt -N to file name
Do
If i = 0 Then
strF = strDir & strFile
Else
strF = strDir & FileOnly(strFile) & "-" & i & ExtOnly(strFile)
End If
If FileExists(strF) = False Then
Exit Do
End If
i = i + 1
Loop
GetServerFile = strF ' return
End Function因此,以上是我在这里的帖子的有力证明。
海报的问题是百分之百合法的。
如果您为asp web应用程序选择了vb.net,那么您在VBA中创建和编写的许多类对象将转移到vb.net。
在本例中,它甚至不是类对象,而是从Access应用程序VBA中剪切+粘贴的代码,并简单地放在asp.net中的代码模块中(vb.net允许这两个类模块,或者像您在access中那样简单地添加代码模块)。
代码在Access和asp.net中都运行良好。
该代码在asp.net中文件上传后使用,以防止文件冲突,并以02、03等方式增加文件名。因此,在Access中编写的多个月前编写的代码在asp.net/vb.net中运行,运行时不作任何修改。
https://stackoverflow.com/questions/49927448
复制相似问题