Search results

  1. S

    DoCmd.SendObject and CDO

    Why do you attribute a change in Microsoft Outlook to Microsoft Access? The absolute only built-in method in Access *potentially* affected by this change is DoCmd.SendObject. I say "potentially" because SendObject always required a (Simple)MAPI compatible email client. It always was the...
  2. S

    Adapting automatically Access code from 32-bit to 32/64-bit

    MsForms is the standard UI library for VBA and it is fully functional in all VBA enabled applications; so all of Ms Office. The only reason why it would not be recommended for Access is that Access itself has its own forms which are better suited for most use cases.
  3. S

    Cumulative Total with a Curve Ball

    Can it be as simple as adding 7 months to the date to get its fiscal year?
  4. S

    Class Factories - Parameterized Object Initialisation

    I'd rather suggest you do not rename the interface with your c prefix. It is not a class but an interface. These are technically the same in VBA but their purpose is different. It is a common convention to name interfaces with a capital I at the beginning.
  5. S

    Adapting automatically Access code from 32-bit to 32/64-bit

    I rather think, you would either use a non-blocking socket or just peek the buffer of the socket and then just the receive the volume of data that is actually in the buffer already. You could do the latter with a timer proc and then raise an event informing about the volume of available data...
  6. S

    Programmatically construct a constant's name and return its value

    You need to add the parenthesis: ? Eval("MyFunction()") Sorry, I can't follow to your conclusion. Unfortunately, Eval cannot resolve qualified names. So. you must omit the module name and if you got multiple functions of the same name in different modules, you got a problem.
  7. S

    Combo box showing the wrong column after selection

    You shouldn't set the .Text property but the .Value property.
  8. S

    Adapting automatically Access code from 32-bit to 32/64-bit

    That's how well you pay attention? ;-) There is a number of String functions having a ...B counterpart to operate on Bytes instead of characters. They are easy to overlook because Microsoft has not documented them individually but inside Note/Remark sections of the Not-B functions. Len(B) is...
  9. S

    Adapting automatically Access code from 32-bit to 32/64-bit

    You could use this instead: apiCopyMemory ByVal VarPtrArray(bDibFrom), VarPtr(tSAFrom), ByVal LenB(VarPtr(tSAFrom)) Still, don't hardcode memory sizes, even if Lebans did it. ;-)
  10. S

    Adapting automatically Access code from 32-bit to 32/64-bit

    Aaeh... Well, yes, this is correct if you hardcode the size of memory to be copied. Don't do that! A memory address has the size of a LongPtr (-> LenB!). When copying other data from memory it usually has the size of an UDT (->LenB) or the correct size is reported by a related API function...
  11. S

    Adapting automatically Access code from 32-bit to 32/64-bit

    As @isladogs mentioned, not all Long arguments need conversion. But beyond that, you missed a very important point: The declared API functions do not exist isolated on their own. There must be other code in your application that is invoking those functions. - Otherwise you could just delete the...
  12. S

    Adapting automatically Access code from 32-bit to 32/64-bit

    Well, yes and no. There is no requirement to change Len to LenB for 64bit, if you did choose the correct function in the first place. For UDTs Len and LenB will usually return the same size in 32bit context. So, very often people got away with incorrectly using Len while they should have used...
  13. S

    Programmatically construct a constant's name and return its value

    All of those. A literal (constant) is a value itself written hardcoded into source code or into an expression. Numeric literal (constant): 999 String literal (constant): "ABC" Date literal (constant): #1/1/2025# Here they are used in an expression: X = Iif(Now() > #1/1/2025#, 999, "ABC") PS...
  14. S

    Programmatically construct a constant's name and return its value

    I'm afraid that is not possible. The documentation of Expressions in Access is misleading in regard to Constants. Microsoft uses that term but they should have used the term Literal instead. An expression cannot include VBA constants but only literal constants.
  15. S

    Variable assignment not working.

    This may be the case if you use an up-to-date version of Access which just received the RegExp object in it's VBA library but the user's computer do have an older version where this is not the case. Does it also apply to the Shell object? Then this would make absolutely no sense at all. The...
  16. S

    Class_Terminate() on project reset?

    It depends on whether the runtime error is handled or not. The behavior is basically the same with an accdb and accde file, but with an accdb you do have the choice to debug the code, which will prevent variables from being reset.
  17. S

    Class_Terminate() on project reset?

    You are correct. The Reset ("Stop" icon) button in the VBE toolbar, the "End" button in the debug dialog, and the End statement in VBA code immediately terminate/reset the running project without running any further code in Class_Terminate event procedures. The code in or Form_Unload/_Close...
  18. S

    Selecting only records where both of two values exist

    SELECT c.* FROM Contacts c WHERE EXISTS (SELECT 'x' FROM tblContact_Categories cc1 INNER JOIN tblCategoryTypes t ON cc1.CategoryTypeID = t.CategoryTypeID WHERE t.[Category Type] = 'car' AND...
  19. S

    Solved Copy Paste Text Too Long error

    True. The original, quite massive, bloating problem with storing images was that Access was converting all images to Bitmap format and thus massively increasing the files size of compressed image formats, such as JPG or PNG. This should no longer be a problem if you enabled the "Preserve source...
  20. S

    msjtes40.dll error

    How did you arrive at this conclusion? HRESULT 0x80004005 is just E_FAIL. The most generic of errors in the COM space. It is essentially the same as a poster here in the forum describing his problem just with "It doesn't work". I'm not saying you're wrong. Considering that the other error came...
Back
Top Bottom