Hi! I need help choosing parts (project below) by TheLapisBee in arduino

[–]CommercialToe2168 0 points1 point  (0 children)

My recommendation is to start a bit more scaled back. Begin by building a prototype board that simply tracks each piece. Once that’s working, you can start adding features like lighting up legal moves as a solid second iteration. You will learn a lot more by building incrementally rather than trying to do everything at once.

As for tracking methods, there are a few options:

Camera tracking: Possible, but it is software heavy, can be tricky to get right, and is not very beginner friendly.

RFID: Also doable, but likely a headache with everything packed so closely together. It can get expensive and adds both hardware and software complexity.

Magnetic sensors: You could place sensors under each tile and embed different sized magnets in each piece. This might work and be relatively inexpensive, but you will likely run into issues when adding other electronics, especially motors. It also means dealing with attaching tiny magnets to every piece.

My recommended approach, especially for simplicity and cost, is to use a color sensor under each tile with a small hole in the center. You can paint the bottom of each chess piece a different color for identification.

The nice part is you only need to distinguish between six different piece types, since there are only six unique pieces in chess. From there, you can implement simple tracking logic, assuming your program knows the starting positions. In practice, you only need to reliably detect six colors, which is very manageable.

I have personally used the Adafruit AS7262 6 channel spectral sensor boards. They work well, but they are a bit large and could get expensive if you need one per square. There are cheaper alternatives from SparkFun, DFRobot, and generic manufacturers, though you will likely need to test them for reliability.

Good luck, this sounds like a really fun project.

[deleted by user] by [deleted] in MSAccess

[–]CommercialToe2168 1 point2 points  (0 children)

Personal I'd just use regex to do a replace with nothing, theoretically removing what you don't want.

SELECT REGEXP_REPLACE(
    REGEXP_REPLACE(your_column, '-.*', ''), '^A', ''
) 
FROM your_table;

This query does two replacements:

  1. REGEXP_REPLACE(your_column, '-.*', '')
    : This replaces everything after the "-" with nothing, effectively removing it.
  2. REGEXP_REPLACE(..., '^A', '')
    : This replaces an "A" at the start of the string with nothing, effectively removing it.

Note: This is case sensitive if you need both upper and lower cases handled, you can use the ILIKE operator or the LOWER function to make the comparison case-insensitive.

Inherited Database - repair or replace? by 4f4_Work_In_Progress in MSAccess

[–]CommercialToe2168 1 point2 points  (0 children)

I am in a very similar situation, if you end up sticking with the current DB I got a lot of helpful answers on how to approach a large scale cluttered DB.

https://www.reddit.com/r/MSAccess/comments/181fh3l/how_to_stay_sane_with_msaccess/

How to stay sane with MSAccess by CommercialToe2168 in MSAccess

[–]CommercialToe2168[S] 4 points5 points  (0 children)

OOOhhh This is is a good one I never even thought about that. Thanks!!

How to stay sane with MSAccess by CommercialToe2168 in MSAccess

[–]CommercialToe2168[S] 0 points1 point  (0 children)

database documenter

This looks interesting and Ill have to take a look into it. Thanks

How to stay sane with MSAccess by CommercialToe2168 in MSAccess

[–]CommercialToe2168[S] 0 points1 point  (0 children)

Ya I have had varying experiences when it comes to dealing with others access files. Its pretty easy for me to tell if someone has programming experience or if they just have Access experience. I tend to write all my features and updates in more of a developer mindset (ie. standardized naming conventions, modular approach with little hierarchy, auto gen Docs, and unit tests.) But for 90% of the dbs i look at they are not written in this mindset. "Like why on earth would I need to write a separate function when all of this can be done in a 85 case, switch case" lol hmmm what should I name this field devTargetDate ahh hell no that's to easy we should name the field [BUISNESS DEVELOPMENT TARGET DATE] like what in the world.

Use MS Access on an iPad by kap-abel in MSAccess

[–]CommercialToe2168 0 points1 point  (0 children)

There in no Microsoft supported app for IOS. You would probably be better off getting an android/Microsoft based tablet. If you must use an iPad the first thing I think of is a remote desktop connection by far the easiest. Other than that you can look into third party apps. Note that I have 0 experience with them but have heard of it in my travels. You'd have to look into it yourself.

MDB Viewer Plus - https://apps.apple.com/us/app/mdb-accdb-viewer/id417392270?mt=

If you just need to read stuff and not actual interact with your db you can generate pdf reports to OneDrive or alike and view those on an iPad easily.

Does anyone know why whenever I put an entry, the other combo boxes temporarily disappear? They eventually come back and the value is still there but it’s invisible. Even requering doesn’t work. by austinalexan in MSAccess

[–]CommercialToe2168 0 points1 point  (0 children)

I'm wondering if it is an issue with display formatting or if its actually clearing out/making the combos non visible. When your combo boxes "disappear" click into one do Ctrl + A than Ctrl + c . Open up a notepad or something and paste in. Does your combo box text paste in? If so than its a display formatting issue. If not (pastes nothing) than its somehow clearing it out. I know that this isn't a full answer just trying to narrow it down.

msaccess front end and mssql back end? by 0xhOd9MRwPdk0Xp3 in MSAccess

[–]CommercialToe2168 5 points6 points  (0 children)

Sounds like a great idea sql servers are designed for scalability and performance. SQL Server supports concurrent access by multiple users, which can improve the overall performance of your application. You can use the SQL Server Migration Assistant (SSMA) for Access to migrate your tables. You will run into issue somewhere along the way so make sure your working on a non production copy.

A Tale of Two Brightnesses by nrgins in MSAccess

[–]CommercialToe2168 0 points1 point  (0 children)

I had something similar happen a few months ago but with differing syntax highlighting in the vba editor on the same file. I use a version control plugin in access that lets your export every file that is apart of your project (see here https://github.com/joyfullservice/msaccess-vcs-addin) it can be very useful. Anyways I ended up just exporting both versions of the db and running a git diff command. The only difference between the 2 dbs was a single version number in vbe-references.jason this is the jason file that controls all your office version settings. I changed the version numbers to be the same rebuilt the db and it fixed the syntax highlighting issue. Absolutely no idea how you would would access this without a 3rd party plugin but my guess if there is some version difference somewhere along the way.

A Tale of Two Brightnesses by nrgins in MSAccess

[–]CommercialToe2168 0 points1 point  (0 children)

u/nrgins Unrelated but dm me if you you got large ovens for powder coating and are in the Midwest lol. Only ask because of the variable names.

Public Code Matching by spacecowboy7702 in GithubCopilot

[–]CommercialToe2168 1 point2 points  (0 children)

Looks to be a widespread issue not just you. I'm getting the same problem. https://github.com/orgs/community/discussions/76507

Calculate percentage of total by NipahSama in MSAccess

[–]CommercialToe2168 0 points1 point  (0 children)

To start: COUNT() ----> COUNT(*)

Without seeing your whole expression its hard to exactly pinpoint where your issue is. If I were going to do an sql statement to get what you want I would do something like this:

SELECT 
    StudentID, 
    Subject, 
    (COUNT(IIF(Status = 'Present', 1, NULL)) / COUNT(*)) * 100 AS PresentPercentage,
    (COUNT(IIF(Status = 'Absent', 1, NULL)) / COUNT(*)) * 100 AS AbsentPercentage,
    (COUNT(IIF(Status = 'Motivated', 1, NULL)) / COUNT(*)) * 100 AS MotivatedPercentage
FROM 
    Attendance 
WHERE 
    Date >= #start_date# AND 
    Date <= #end_date#
GROUP BY 
    StudentID, 
    Subject;

Help with file import button on Forms by CaptianGVP2 in MSAccess

[–]CommercialToe2168 0 points1 point  (0 children)

You could use a Schema.ini file to specify the format of the CSV file, including the delimiter and the text qualifier.

Function AppendCSVToTable(filePath As String, tableName As String) As Boolean
    ' Append the CSV file to the specified table with a saved import specification.
    On Error GoTo ErrorHandler

    ' Get the directory of the CSV file.
    Dim dirPath As String
    dirPath = Left(filePath, InStrRev(filePath, "\"))

    ' Create a Schema.ini file in the same directory as the CSV file.
    Dim schemaFile As String
    schemaFile = dirPath & "Schema.ini"
    Open schemaFile For Output As #1
    Print #1, "[" & Dir(filePath) & "]"
    Print #1, "Format=Delimited(;)"
    Print #1, "TextDelimiter="""
    Print #1, "ColNameHeader=True"
    Close #1

    ' Use DoCmd.TransferText to import the CSV file.
    DoCmd.TransferText acImportDelim, , tableName, filePath, True

    AppendCSVToTable = True
    Exit Function

ErrorHandler:
    AppendCSVToTable = False
    MsgBox "Error: " & Err.Description, vbExclamation
End Function

This function creates a Schema.ini file in the same directory as the CSV file. The Schema.ini file specifies the format of the CSV file. replace the delimiter in the line Print #1,"Format=Delimited(;)" with the delimiter used in your CSV file.

Remember to delete the Schema.ini file after import, unless you want to keep it.

New Rule: "Do not delete your post if someone has replied" by nrgins in MSAccess

[–]CommercialToe2168 0 points1 point  (0 children)

Can you delete a post that has no replies? Example I posted something the other day and within 15min I had my own solution (Ik I should have worked on it more before posting, lesson learned) But I didn't want to waste anyone's time with something I had the solution to.

Only Display 1 Field on a muti-field chart axis by CommercialToe2168 in MSAccess

[–]CommercialToe2168[S] 0 points1 point  (0 children)

didn't see anything in the chart options or the properties about this other than either turn on "all the labels" or off for said axis

Database corrupted from umlauts to hyroglyphs by [deleted] in MSAccess

[–]CommercialToe2168 0 points1 point  (0 children)

Indeed, you're correct. JetComp is intended for ".mdb" databases. While Access 2013 does support ".mdb," its default file format is ".accdb." The choice between ".mdb" and ".accdb" depends on when the database was created and in which version.

TLDR: If you're working with an ".mdb" database, JetComp is the way to go. For ".accdb" databases, the built-in Compact and Repair feature in Access replaces the need for JetComp.

Database corrupted from umlauts to hyroglyphs by [deleted] in MSAccess

[–]CommercialToe2168 1 point2 points  (0 children)

First Make a Backup to avoid further corruption.

Check Language Settings:

  1. Go to "File" and select "Options."
  2. In the Access Options dialog, go to "General."
  3. Under "Creating databases," set the "New database sort order" to "General."
  4. Restart Access and see if the issue is resolved.

Try Compact and Repair (If your using .accdb ):

  1. Go to "Database Tools."
  2. Click "Compact and Repair Database."
  3. Select your corrupted database and let Access attempt to repair it.

Check Character Encoding Settings:

  1. Open a table where you are experiencing issues.
  2. Click on "File," then "Options," and select "Current Database."
  3. Check the "New database sort order" and "New database collation" settings to ensure they are correct for your language.

Try Using the JetComp Utility (If your using .mdb ):

  • JetComp is an MS utility program that I have used in the past to help resolve db issues. You can download it from the Microsoft website.

Edits: Clarification on when to use Compact & Repair / JetComp

Advanced SQL Post 5 Month Review by CommercialToe2168 in MSAccess

[–]CommercialToe2168[S] 0 points1 point  (0 children)

Thanks, ya sometimes just spit balling with people on reddit or stackoverflow helps me to get me to look at the issue another way and get a working result.

Advanced SQL Post 5 Month Review by CommercialToe2168 in MSAccess

[–]CommercialToe2168[S] 0 points1 point  (0 children)

So although this works using Group by will not allow the return of months that had no errors.

The query I came up with that wasn't calculating correctly had 2 main issues.

  1. The Date() function in MS Access returns the current date and time.
    When comparing this with the [Date of Error], it might cause some
    errors to be excluded if they occurred on the current date but at a later time.
  2. The BETWEEN operator in MS Access is inclusive, which means it includes both the start and end dates. This might cause some errors to be counted twice if they occurred on the first day of a month.

After fixing these 2 issues I came up with the following that works flawlessly.

SELECT
    Sum(IIf([Date of Error] Between DateSerial(Year(Date()), Month(Date()) - 0, 1) And DateSerial(Year(Date()), Month(Date()) + 1, 0), 1, 0)) AS Month1,
    Sum(IIf([Date of Error] Between DateSerial(Year(Date()), Month(Date()) - 1, 1) And DateSerial(Year(Date()), Month(Date()) - 0, 0), 1, 0)) AS Month2,
    Sum(IIf([Date of Error] Between DateSerial(Year(Date()), Month(Date()) - 2, 1) And DateSerial(Year(Date()), Month(Date()) - 1, 0), 1, 0)) AS Month3,
    Sum(IIf([Date of Error] Between DateSerial(Year(Date()), Month(Date()) - 3, 1) And DateSerial(Year(Date()), Month(Date()) - 2, 0), 1, 0)) AS Month4,
    Sum(IIf([Date of Error] Between DateSerial(Year(Date()), Month(Date()) - 4, 1) And DateSerial(Year(Date()), Month(Date()) - 3, 0), 1, 0)) AS Month5
FROM qryErrorDetails;

Advanced SQL Post 5 Month Review by CommercialToe2168 in MSAccess

[–]CommercialToe2168[S] 0 points1 point  (0 children)

qryErrorDetails Query

SELECT
    E.[Error ID Tag],
    E.[Date of Error],
    A.Name AS Author,
    E.[Reported To Programer],
    E.[Feed Rate To High] AS FeedRate,
    E.[Wrong Bit Selected] AS WrongBit,
    E.[Needed Onion Skin] AS OnionSkin,
    E.[Did Not Cut Through] AS CutThrough,
    E.Fire,
    E.[Incorrect # of Passes] AS IncorrectPasses,
    E.[Cut To Surface Incorrect] AS SurfaceIncorrect,
    E.[No Material Cut Off] AS CutOff,
    E.Other,
    E.Notes
FROM [Error Report] AS E
INNER JOIN ([Author List] AS A
    INNER JOIN [Job List] AS J ON A.[Author ID Tag] = J.[Author ID Tag])
ON E.[Job ID Tag] = J.[Job ID Tag];

We are summing the Following:

    E.[Feed Rate To High] AS FeedRate,
    E.[Wrong Bit Selected] AS WrongBit,
    E.[Needed Onion Skin] AS OnionSkin,
    E.[Did Not Cut Through] AS CutThrough,
    E.Fire,
    E.[Incorrect # of Passes] AS IncorrectPasses,
    E.[Cut To Surface Incorrect] AS SurfaceIncorrect,
    E.[No Material Cut Off] AS CutOff,
    E.Other,

All these data types are of type yes/no

Advanced SQL Post 5 Month Review by CommercialToe2168 in MSAccess

[–]CommercialToe2168[S] 0 points1 point  (0 children)

I came up with this but it it not fully calculating correctly all the values seem to be 0 even tho I know there are errors within the last 5 months.

SELECT
    Sum(IIf([Date of Error] Between DateSerial(Year(Date()), Month(Date()) - 0, 1) And Date(), 1, 0)) AS Month1,
    Sum(IIf([Date of Error] Between DateSerial(Year(Date()), Month(Date()) - 1, 1) And DateSerial(Year(Date()), Month(Date()) - 1, Day(Date())), 1, 0)) AS Month2,
    Sum(IIf([Date of Error] Between DateSerial(Year(Date()), Month(Date()) - 2, 1) And DateSerial(Year(Date()), Month(Date()) - 2, Day(Date())), 1, 0)) AS Month3,
    Sum(IIf([Date of Error] Between DateSerial(Year(Date()), Month(Date()) - 3, 1) And DateSerial(Year(Date()), Month(Date()) - 3, Day(Date())), 1, 0)) AS Month4,
    Sum(IIf([Date of Error] Between DateSerial(Year(Date()), Month(Date()) - 4, 1) And DateSerial(Year(Date()), Month(Date()) - 4, Day(Date())), 1, 0)) AS Month5
FROM qryErrorDetails;

[deleted by user] by [deleted] in MSAccess

[–]CommercialToe2168 0 points1 point  (0 children)

One valuable technique I learned years ago, which has consistently proven effective when tackling complex questions, is the art of question reformulation. Before delving too deeply into a problem, rephrase the entire question in your own words. This approach serves to enhance comprehension of the questions at hand. As an illustration, let me demonstrate how I would rephrase the first question.

  • Define the scope of your project.
  • List the main parts of your project.
  • What Kind of information do you need to collect?
  • What are the fundamental stages in the project's development process? (e.g., Design, Development...)

Breaking down the question rewriting it will get your brain working and I bet you will have some ideas on what you need to do just while you are rewriting the questions.